Part Number Hot Search : 
74LVC86 6051K1 H3545 50032 AE10737 6051K1 2SK31 50032
Product Description
Full Text Search
 

To Download PEB2085-PV23 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  ics for communications isdn subscribernaccess controller isac a .-s peb 2085 peb 2086 users manual 10.94
data classification maximum ratings maximum ratings are absolute ratings; exceeding only one of these values may cause irreversible damage to the integrated circuit. characteristics the listed characteristics are ensured over the operating range of the integrated circuit. typical characteristics specify mean values expected over the production spread. if not otherwise specified, typical characteristics apply at t a = 25 c and the given supply voltage. operating range in the operating range the functions given in the circuit description are fulfilled. for detailed technical information about processing guidelines and quality assurance for ics, see our product overview . edition 10.94 this edition was realized using the software system framemaker a . published by siemens ag, bereich halbleiter, marketing-kommunikation, balanstra?e 73, d-81541 mnchen. ? siemens ag 1994. all rights reserved. as far as patents or other rights of third parties are concerned, liability is only assumed for components, not for applications, processes and circuits implemented within components or assemblies. the information describes the type of component and shall not be considered as assured characteristics. terms of delivery and rights to change design reserved. for questions on technology, delivery and prices please contact the semiconductor group offices in germany or the siemens companies and representatives worldwide (see address list). due to technical requirements components may contain dangerous substances. for information on the types in question please contact your nearest siemens office, semiconductor group. siemens ag is an approved cecc manufacturer. packing please use the recycling operators known to you. we can also help you - get in touch with your nearest sales office. by agreement we will take packing material back, if it is sorted. you must bear the costs of transport. for packing material that is returned to us unsorted or which we are not obliged to accept, we shall have to in- voice you for any costs incurred. peb 2085/peb 2086 revision history: 10.94 previous releases: 11.88; 3.89; 12.89; 02.95 page subjects (changes since last revision) the present documentation is an editorial update of the technical manual 12.89
general information table of contents page semiconductor group 3 1features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.1 features of peb 2085 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.1.1 pin definitions and functions of peb 2085 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.1.2 logic symbol of peb 2085 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.2 features of peb 2086 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.2.1 pin definitions and functions of peb 2086 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.2.2 logic symbol of peb 2086 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.3 functional block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.4 system integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.4.1 isdn applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.4.2 microprocessor environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2 functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.1 general functions and device architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.2 interface and operating modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.2.1 iom ? -1 interface mode (adf2:ims=0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.2.2 iom ? -2 interface mode (adf2:ims=1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.3 iom ? -1 mode functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.3.1 iom ? -1 frame structure / timing modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.3.2 iom ? -1 interface connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.3.3 sld interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.3.4 ssi (serial port a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.3.5 b-channel switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.3.6 mp access to b channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.3.7 monitor channel handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.3.8 command/indicate (c/i) channel handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.4 iom ? -2 mode functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.4.1 iom ? -2 frame structure / timing modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 2.4.2 iom ? -2 interface connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.4.3 mp access to b and ic channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 2.4.4 monitor channel handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
general information table of contents page semiconductor group 4 2.4.5 c/i channel handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 2.4.6 tic bus access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 2.5 layer-1 functions for the s/t interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 2.5.1 s/t interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1 2.5.2 analog functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 2.5.3 s/t interface circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 2.5.3.1 s/t interface pre-filter (peb 2085 only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 2.5.3.2 external protection circuitry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 2.5.4 receiver functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 2.5.4.1 receive signal oversampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 2.5.4.2 adaptive receiver characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 2.5.4.3 level detection power down (te mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 2.5.5 timing recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 2.5.6 activation/deactivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 2.5.6.1 fainfa_1fr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 2.5.6.2 fainfb_1fr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 2.5.6.3 fainfd_1fr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 2.5.6.4 fainfa_kfr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 2.5.6.5 fainfb_kfr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 2.5.6.6 fainfd_kfr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 2.5.6.7 faregain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 2.5.7 d-channel access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 2.5.8 s- and q-channel access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 2.5.9 s-frame and multiframe synchronization (peb 2086 only) . . . . . . . . . . . . . . . . 102 2.5.9.1 s-frame start (lt-s, nt mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 2.5.9.2 multiframe / superframe synchronization (lt-s, nt-mode) . . . . . . . . . . . . . . . . 102 2.5.9.3 m-bit output (te mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 2.6 terminal specific functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 2.7 test functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 2.8 layer-2 functions for the isdn basic access . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
general information table of contents page semiconductor group 5 2.8.1 message transfer modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 2.8.2 protocol operations (auto mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 2.8.3 reception of frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 2.8.4 transmission of frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 2.8.5 documentation of the auto mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 2.8.5.1 legend of the auto-mode-documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 2.8.5.2 additional general considerations when using the auto mode . . . . . . . . . . . . . 121 2.8.5.3 dealing with error conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 3 operational description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 3.1 microprocessor interface operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 3.2 interrupt structure and logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 3.2.1 activation/deactivation of iom ? interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 3.2.2 activation/deactivation of s/t interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 3.2.2.1 layer-1 command/indication codes and state diagrams in te/lt-t modes . . . 171 3.2.2.2 layer-1 command/indication codes and state diagrams in lt-s mode . . . . . . 177 3.2.2.3 layer-1 command/indication codes and state diagrams in nt mode . . . . . . . . 180 3.2.3 example of activation/deactivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 3.3 control of layer-2 data transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 3.3.1 hdlc frame reception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 3.3.2 hdlc frame transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 3.4 reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 0 3.5 initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2 4 detailed register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 4.1 hdlc operation and status registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 4.1.1 receive fifo rfifo read address 00-1fh . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 4.1.2 transmit fifo xfifo write address 00-1fh . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 4.1.3 interrupt status register ista read address 20h . . . . . . . . . . . . . . . . . . . . . . . 200 4.1.4 mask register mask write address 20h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 4.1.5 status register star read address 21h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 4.1.6 command register cmdr write address 21h . . . . . . . . . . . . . . . . . . . . . . . . . . 203
general information table of contents page semiconductor group 6 4.1.7 mode register mode read/write address 22h . . . . . . . . . . . . . . . . . . . . . . . . . 204 4.1.8 timer register timr read/write address 23h . . . . . . . . . . . . . . . . . . . . . . . . . . 207 4.1.9 extended interrupt register exir read address 24h . . . . . . . . . . . . . . . . . . . . 209 4.1.10 transmit address 1 xad1 write address 24h . . . . . . . . . . . . . . . . . . . . . . . . . . 210 4.1.11 receive frame byte count low rbcl read address 25h . . . . . . . . . . . . . . . . 211 4.1.12 transmit address 2 xad2 write address 25h . . . . . . . . . . . . . . . . . . . . . . . . . . 211 4.1.13 received sapi register sapr read address 26h . . . . . . . . . . . . . . . . . . . . . . 211 4.1.14 sapi1 register sap1 write address 26h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 4.1.15 receive status register rsta read address 27h . . . . . . . . . . . . . . . . . . . . . . 212 4.1.16 sapi2 register sap2 write address 27h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 4.1.17 tei1 register 1tei1 write address 28h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 4.1.18 receive hdlc control register rhcr read address 29h . . . . . . . . . . . . . . . . 215 4.1.19 tei2 register tei2 write address 29h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 4.1.20 receive frame byte count high rbch read address 2ah . . . . . . . . . . . . . . . 216 4.1.21 status register 2 star2 read/write address 2bh . . . . . . . . . . . . . . . . . . . . . . 217 4.2 special purpose registers: iom ? -1 mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 4.2.1 serial port control register spcr read/write address 30h . . . . . . . . . . . . . . . 219 4.2.2 command/indication receive register cirr read address 31h . . . . . . . . . . . 220 4.2.3 command/indication transmit register cixr write address 31h . . . . . . . . . . . 221 4.2.4 monitor receive register morread address 32h . . . . . . . . . . . . . . . . . . . . 222 4.2.5 monitor transmit register mox write address 32h . . . . . . . . . . . . . . . . . . . 222 4.2.6 sip signaling code receive sscr read address 33h . . . . . . . . . . . . . . . . . . . 223 4.2.7 sip signaling code transmit sscx write address 33h . . . . . . . . . . . . . . . . . . . 223 4.2.8 sip feature control read sfcr read address 34h . . . . . . . . . . . . . . . . . . . . . 223 4.2.9 sip feature control write sfcw write address 34h . . . . . . . . . . . . . . . . . . . . . 223 4.2.10 channel register 1 c1r read/write address 35h . . . . . . . . . . . . . . . . . . . . . . . 224 4.2.11 channel register 2 c2r read/write address 36h . . . . . . . . . . . . . . . . . . . . . . . 224 4.2.12 b1 channel register b1cr read address 37h . . . . . . . . . . . . . . . . . . . . . . . . . 224 4.2.13 synchronous transfer control register stcr write address 37h . . . . . . . . . . . 224 4.2.14 b2 channel register b2cr read address 38h . . . . . . . . . . . . . . . . . . . . . . . . . 226
general information table of contents page semiconductor group 7 4.2.15 additional feature register 1 adf1 write address 38h . . . . . . . . . . . . . . . . . . . 226 4.2.16 additional feature register 2 adf2 read/write address 39h . . . . . . . . . . . . . . 228 4.2.17 s, q channel receive register sqrr read address 3bh . . . . . . . . . . . . . . . . 228 4.2.18 s, q channel transmit register sqxr write address 3bh . . . . . . . . . . . . . . . . 229 4.3 special purpose registers: iom ? -2 mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 4.3.1 serial port control register spcr read/write address 30h . . . . . . . . . . . . . . . . . 230 4.3.2 command/indication receive 0 cir0 read address 31h . . . . . . . . . . . . . . . . . 231 4.3.3 command/indication transmit 0 cix0 write address 31h . . . . . . . . . . . . . . . . . 232 4.3.4 monitor receive channel 0 mor0 read address 32h . . . . . . . . . . . . . . . . . 233 4.3.5 monitor transmit channel 0 mox0 write address 32h . . . . . . . . . . . . . . . . . 233 4.3.6 command/indication receive 1 cir1 read address 33h . . . . . . . . . . . . . . . . . 233 4.3.7 command/indication transmit 1 cix1 write address 33h . . . . . . . . . . . . . . . . . 234 4.3.8 monitor receive channel 1 mor1 read address 34h . . . . . . . . . . . . . . . . . 234 4.3.9 monitor transmit channel 1 mox1 write address 34h . . . . . . . . . . . . . . . . . 234 4.3.10 channel register 1c1r read/write address 35h . . . . . . . . . . . . . . . . . . . . . . . 235 4.3.11 channel register 2 c2r read/write address 36h . . . . . . . . . . . . . . . . . . . . . . . 235 4.3.12 b1 channel register b1cr read address 37h . . . . . . . . . . . . . . . . . . . . . . . . . 235 4.3.13 synchronous transfer control register stcr write address 37h . . . . . . . . . . . 235 4.3.14 b2 channel register b2cr read address 38h . . . . . . . . . . . . . . . . . . . . . . . . . 237 4.3.15 additional feature register 1 adf1 write address 38h . . . . . . . . . . . . . . . . . . . 237 4.3.16 additional feature register 2 adf2 read/write address 39h . . . . . . . . . . . . . . 239 4.3.17 monitor status register mosr read address 3ah . . . . . . . . . . . . . . . . . . . . 240 4.3.18 monitor control register mocr write address 3ah . . . . . . . . . . . . . . . . . . . 240 4.3.19 s, q channel receive register sqrr read address 3bh . . . . . . . . . . . . . . . . 241 4.3.20 s, q channel transmit register sqxr write address 3bh . . . . . . . . . . . . . . . . 242 5 electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 6isac ? -s low level controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 6.1 architecture and functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 6.2 summary of llc functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 6.2.1 layer 1 related functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
general information table of contents page semiconductor group 8 6.2.2 hdlc controller related functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274 6.2.3 external functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 6.3 llc code elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 6.3.1 structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 77 6.3.2 definitions and naming conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 6.3.2.1 type definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 6.3.2.2 macro definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 6.3.2.3 register bit definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 6.4 llc routine reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 6.4.1 isac ? -s layer-1 functions: the sbc part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 6.4.2 isac ? -s hdlc controller related functions: the icc part . . . . . . . . . . . . . . . 282 6.5 listing of driver routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 7 package outlines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 iom ? , iom ? -1, iom ? -2, sicofi ? , sicofi ? -2, sicofi ? -4, sicofi ? -4c, slicofi ? , arcofi ? , arcofi ? -ba, arcofi ? -sp, epic ? -1, epic ? -s, elic ? , ipat ? -2, itac ? , isac ? -s, isac ? -s te, isac ? -p, isac ? -p te, idec ? , sicat ? , octat ? -p, quat ? -s are registered trademarks of siemens ag. musac ? -a, falc ? 54, iwe ? , sare ? , utpt ? , asm ? , asp ? are trademarks of siemens ag. purchase of siemens i 2 c components conveys a license under the philips i 2 c patent to use the components in the i 2 c-system provided the system conforms to the i 2 c specifications defined by philips. copyright philips 1983.
semiconductor group 9 general information introduction the peb 2085/2086 isac ? -s implements the four-wire s/t interface used to link voice/data terminals to an isdn. the peb 2085 combines the functions of the s-bus interface circuit (sbc: peb 2080) and the isdn communications controller (icc: peb 2070) on one chip. the component switches b and d channels between the s/t and the isdn oriented modular (iom ? ) interfaces, the latter being a standard backplane interface for the isdn basic access. the device provides all electrical and logical functions of the s/t interface, such as: activation/ deactivation, mode dependent timing recovery and d channel access and priority control. the hdlc packets of the isdn d channel are handled by the isac-s which interfaces them to the associated microcontroller. in one of its operating modes the device offers high level support of layer-2 functions of the lapd protocol. the isac-s is a cmos device, available in a p-dip-40 (peb 2085 only), p-lcc-44 and p-mqfp-64 (peb 2086 only) package. it operates from a single + 5 v supply and features a power-down state with very low power consumption.
semiconductor group 10 10.94 isdn subscriber access controller isac ? -s peb 2085 cmos ic p-lcc-44-1 p-dip-40-2 l implementation of iom-1/iom-2 monitor and c/i channel protocol to control peripheral devices l m p access to b-channels and intercommunication channels l b-channel switching l watchdog timer l test loops l advanced cmos technology l low power consumption: standby 8 mw active 80 mw type ordering code package peb 2085n q67100-h6218 p-lcc-44-1 (smd) peb 2085p q67100-h6219 p-dip-40-2 1features 1.1 features of peb 2085 l full duplex 2b + d s/t interface transceiver according to ccitt i.430 l conversion of the frame structure between the s/t interface and iom l receive timing recovery according to selected operating mode l d-channel access control l activation and deactivation procedures, with automatic wake-up from power-down state l access to s and q bits of s/t interface l adaptively switched receive thresholds l frame alignment with absorption of phase wander in nt2 network side applications l support of lapd protocol l fifo buffer (2 64 bytes) for efficient transfer of d-channel packets l 8-bit microprocessor interface, multiplexed or non-multiplexed l serial interfaces: iom-1, sld, ssi iom-2
semiconductor group 11 peb 2085 pin configurations (top view) itp02311 peb 2085 int 20 cp/bcl 19 m0 18 x1 17 x0 16 x2 15 m1 14 fsc2 13 fsc1 12 dcl 11 10 sip/eaw 9 rst 8 sca/fsd/sds2 7 sdax/sds1 6 sdar 5 ad7 4 ad6 3 ad5 2 ad4 1 xtal2 xtal1 sr2 sr1 ufi n.c. sx1 sx2 idp0 idp1 ale cs wr rd ad0 ad1 ad2 ad3 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 v ssd v ssa v dd p-lcc-44 p-dip-40 itp02312 peb 2085 ad2(d2) a0 ad0(d0) ad1(d1) ad3(d3) ad4(d4) ad5(d5) ad6(d6) ad7(d7) sdar(a2) sdax/sds1 sca/fsd/sds2 rst sip/eaw/a5 dcl fsc1 fsc2 m1 x2 a4 6 5 4 3 2 1 44 43 42 41 40 17 16 15 14 13 12 11 10 9 8 7 rd(ds) 39 wr(r/w) 38 cs 37 ale 36 idp1 35 idp0 34 sx2 33 sx1 32 31 n.c. 30 ufi 29 sr1 sr2 xtal1 xtal2 int cp/bcl m0 x0 a3 28 27 26 25 24 23 22 21 20 19 18 v ssa v ssd v dd a1 x1
semiconductor group 12 peb 2085 1.1.1 pin definitions and functions of peb 2085 chip select: a "low" on this line selects the isac-s for a read/write operation. 34 37 cs multiplexed bus mode: address/data bus transfers addresses from the m p system to the isac-s and data between the m p system and the isac-s. non-multiplexed bus mode: data bus. transfers data between the m p system and the isac-s. 37 38 39 40 1 2 3 4 41 42 43 44 1 2 3 4 ad0/d0 ad1/d1 ad2/d2 ad3/d3 ad4/d4 ad5/d5 ad6/d6 ad7/d7 function symbol pin no. p-dip-40 pin no. p-lcc-44 i i/o i/o i/o i/o i/o i/o i/o i/o input (i) output (o) open drain (od) read/write: when "high" identifies a valid m p access as a read operation. when "low", identifies a valid m p access as a write operation (motorola bus mode). 38 r/w i write: this signal indicates a write operation (intel bus mode). 35 38 wr i data strobe: the rising edge marks the end of a valid read or write operation (motorola bus mode). 39 ds i read: this signal indicates a read operation (intel bus mode). 36 39 rd i interrupt request: the signal is activated when the isac-s requests an interrupt. it is an open drain output. 20 23 int od address latch enable: a high on this line indi- cates an address on the external address bus (multiplexed bus type only). ale also selects the microprocessor interface type (multiplexed or non-multiplexed) p-lcc only. 33 36 ale i
semiconductor group 13 peb 2085 pin definitions and functions of peb 2085 (cont'd) serial clock port a, iom-1 timing mode 0. a 128-khz data clock signal for serial port a (ssi). frame sync delayed, iom-1 timing mode 1. an 8-khz synchronization signal, delayed by 1/8 of a frame, for iom-1 is supplied. in this mode a minimal round-trip delay for b1 and b2 channels is guaranteed. serial data strobe 2, iom-2 mode. a programmable strobe signal, selecting either one or two b or ic channels on the iom-2 interface, is supplied via this line. after reset, sca/fsd/sds2 takes on its function only after a write access to spcr is made. 7 7 7 8 8 8 sca fsd sds2 function symbol pin no. p-dip-40 pin no. p-lcc-44 o o o input (i) output (o) reset: a "high" on this input forces the isac-s into reset state. the minimum pulse length is four dcl clock periods or four ms. if the terminal specific functions are enabled, the isac-s may also supply a reset signal. 89 i/o rst frame sync 2: lt-s/lt-t/nt: input synchronization signal iom a -1 and iom a -2 mode te: programmable strobe output, selecting either b1 or b2 channel on the ssi interface. te: pull-up connection for idp1, iom-2 mode. 13 14 i/o fsc2 frame sync 1: lt-s/nt/lt-t: input synchronization signal, iom-1 and iom-2 mode te: a programmable strobe output, selecting either b1 or b2 channel on the ssi interface, iom-1 mode te: frame sync output, "high" during channel 0 on the iom-2 interface, iom-2 mode. 12 13 i/o fsc1 data clock: clock of frequency equal to twice the data rate on the iom interface lt-s/lt-t: clock input 512-khz iom-1 mode 4096-khz iom-2 mode te: clock output 512-khz iom-1 mode 1536-khz iom-2 mode nt: clock input 512-khz 11 12 i/o dcl
semiconductor group 14 peb 2085 pin definitions and functions of peb 2085 (cont'd) function symbol pin no. p-dip-40 pin no. p-lcc-44 input (i) output (o) address bit 1 (non-multiplexed bus type). C6 i a1 clock pulses /special purpose pin, iom-1 mode and iom-2 (except te) mode bit clock: clock of frequency 768 khz, iom-2 mode in te. 19 19 22 22 i/o o cp bcl address bit 2 (non-multiplexed bus type). serial data port a receive. serial data is received on this pin at standard ttl or cmos level. an integrated pull-up circuit enables connection of an open-drain/open collector driver without an external pull-up resistor. sdar is used only if iom-1 mode is selected. C 5 5 5 i i a2 sdar address bit 0 (non-multiplexed bus type). C40 i a0 address bit 4 (non-multiplexed bus type). C17 i a4 address bit 3 (non-multiplexed bus type). C18 i a3 address bit 5 (non-multiplexed bus type) sld interface port, iom-1 mode. this line transmits and receives serial data at standard ttl or cmos levels. external awake (termina specific function). if a falling edge on this input is detected, the isac-s generates an interrupt and, if enabled, a reset pulse. C 9 9 10 10 10 i i/o i a5 sip eaw serial data port a transmit, iom-1 mode. transmit data is shifted out via this pin at standard ttl or cmos levels. serial data strobe 1, iom-2 mode. a programmable strobe signal, selecting either one or two b or ic channels on iom-2 interface, is supplied via this line. after reset, sdax/sds1 takes on its function only after a write access to spcr is made. 6 6 7 7 o o sdax sds1 setting of operating mode ( see chapter 2.2 ). 14 18 15 21 i i m1 m0 mode specific function pins ( see chapter 2.2 ). 15 17 16 16 20 19 i/o i/o i x2 x1 x0
semiconductor group 15 peb 2085 pin definitions and functions of peb 2085 (cont'd) function symbol pin no. p-dip-40 pin no. p-lcc-44 input (i) output (o) analog ground 21 24 C v ssa connection for crystal or external clock input connection for external crystal. left unconnected if external clock is used. 23 22 26 25 i o xtal1 xtal2 iom data port 0 (dd) iom data port 1 (du) iom-1: idp1: open-drain with internal pull- up resistor idp0: push-pull iom-2: open drain without internal pull-up resistor or push-pull (adf2:ods) 31 32 34 35 i/o i/o idp0(dd) idp1(du) digital ground 10 11 C v ssd power supply (5 v 5%) 28 31 C v dd s bus receiver input s bus receiver output (2.5 v reference) 24 25 27 28 i o sr2 sr1 connection for external pre-filter for s bus receiver, if used. 26 29 o ufi s bus transmitter output (positive) s bus transmitter output (negative) 29 30 32 33 o o sx1 sx2
semiconductor group 16 peb 2085 1.1.2 logic symbol of peb 2085 figure 1 logic symbol of the isac ? -s idp0 sdar v dd xtal1 xtal2 x0...2 m0...1 sr2 sx2 sx1 sr1 ufi itl02313 + 5 v 0 v 0 v reset rst ssa vv ssd 7.68 mhz 100 ppm idp1 sdax/sds1 sip/eaw dcl fsc1 cp/bcl sca/fsd/sds2 fsc2 tr = 100 10 nf *) tr = 100 *) ad0...7 (d0...7) (a0...5) cs wr (r/w) rd (ds) int ale p *) terminating resistors only at the far ends of the connection mode special function pins ssi sld clock frame synchronization s/t w w r iom
semiconductor group 17 peb 2086 the peb 2086 is an enhanced version of the peb 2085. the peb 2086 includes a symmetrical s/t-interface receiver and may use the m-bit of the s/t-interface frame for synchronization purposes. the peb 2086 is software compatible to the peb 2085. type ordering code package peb 2086h q67100-h6307 p-mqfp-64-1 (smd) peb 2086n q67100-h6356 p-lcc-44-1 (smd) 1.2 features of peb 2086 enhanced version of the peb 2085 with following new features: l symmetrical s/t-interface receiver l b-channel mapping on ssi-interface l demultiplexed microprocessor interface in iom ? -1 mode l multiframe synchronization p-mqfp-64-11 p-lcc-44-1 isdn subscriber access controller isac ? -s cmos ic 10.94
semiconductor group 18 peb 2086 pin configuration (top view) itp03729 peb 2086 64 17 n.c. 47 v ssd n.c. 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 n.c. 1 n.c. 2 n.c. 3 4 mo 5 cp/bcl 6 int 7 n.c. 8 9 xtal2 10 xtal1 11 12 sr2 13 n.c. 14 sr1 15 a3 n.c. a4 18 n.c. x2 19 n.c. 20 n.c. fsc2 21 fsc1 22 sx1 23 sx2 24 idp0 sip/eaw 25 idp1 a5 26 ale rst 27 cs sca/fsd/sds2 28 wr(r/w) sdax/sds1 29 rd(ds) a1 30 a0 a2 31 n.c. sdar 32 n.c. 46 n.c. 45 n.c. 44 n.c. 43 ad7/d7 42 ad6/d6 41 ad5/d5 40 39 ad3/d3 38 ad2/d2 37 ad1/d1 36 ad0/d0 35 n.c. 34 n.c. 33 n.c. n.c. 16 48 ssa v dd v x1 dcl v dd ad4/a4 m1 p-mqfp-64 itp03730 peb 2086 ad2(d2) a0 ad0(d0) ad1(d1) ad3(d3) ad4(d4) ad5(d5) ad6(d6) ad7(d7) sdar(a2) sdax/sds1 sca/fsd/sds2 rst sip/eaw/a5 dcl fsc1 fsc2 m1 x2 a4 6 5 4 3 2 1 44 43 42 41 40 17 16 15 14 13 12 11 10 9 8 7 rd(ds) 39 wr(r/w) 38 cs 37 ale 36 idp1 35 idp0 34 sx2 33 sx1 32 31 n.c. 30 n.c. 29 sr1 sr2 xtal1 xtal2 int cp/bcl m0 n.c. a3 28 27 26 25 24 23 22 21 20 19 18 v ssa v ssd v dd a1 x1 p-lcc-44
semiconductor group 19 peb 2086 1.2.1 pin definitions and functions of peb 2086 pin no. p-mqfp-64 pin no. p-lcc-44 symbol input (i) output (o) open drain (od) function 37 38 39 40 41 42 43 44 41 42 43 44 1 2 3 4 ad0/d0 ad1/d1 ad2/d2 ad3/d3 ad4/d4 ad5/d5 ad6/d6 ad7/d7 i/o i/o i/o i/o i/o i/o i/o i/o multiplexed bus mode: address/data bus transfers addresses from the m p system to the isac-s and data between the m p system and the isac-s. non-multiplexed bus mode : data bus. transfers data between the m p system and the isac-s. 27 37 cs i chip select : a low on this line selects the isac-s for a read/write operation. 28 28 38 38 r/w wr i i read/write : when high identifies a valid m p access as a read operation. when low, identifies a valid m p access as a write operation (motorola bus mode). write : this signal indicates a write operation (intel bus mode). 29 29 39 39 ds rd i i data strobe : the rising edge marks the end of a valid read or write operation (motorola bus mode). read : this signal indicates a read operation (intel bus mode). 823intod interrupt request : the signal is activated when the isac-s requests an interrupt. it is an open drain output. 26 36 ale i address latch enable : a high on this line indicates an address on the external address bus (multiplexed bus type only). ale also selects the microprocessor interface type (multiplexed or non- multiplexed).
semiconductor group 20 peb 2086 pin definitions and functions of peb 2086 (contd) pin no. p-mqfp-64 pin no. p-lcc-44 symbol input (i) output (o) open drain (od) function 53 53 53 8 8 8 sca fsd sds2 o o o serial clock port a , iom-1 timing mode 0. a 128-khz data clock signal for serial port a (ssi). frame sync delayed , iom-1 timing mode 1. an 8-khz synchronization signal, delayed by 1/8 of a frame, for iom-1 is supplied. in this mode a minimal round-trip delay for b1- and b2-channels is guaranteed. serial data strobe 2 , iom-2 mode. a programmable strobe signal, selecting either one or two b- or ic-channels on the iom-2 interface, is supplied via this line. after reset, sca/fsd/sds2 takes on its function only after a write access to spcr is made. 54 9 rst i/o reset : a high on this input forces the isac-s into reset state. the minimum pulse length is four dcl-clock periods or four ms. if the terminal specific functions are enabled, the isac-s may also supply a reset signal. 59 13 fsc1 i/o frame sync 1 : lt-s/nt/lt-t: input synchronization signal, iom-1 and iom-2 mode. te: a programmable strobe output, selecting either b1- or b2-channel on the ssi-interface, iom-1 mode. te: frame sync output, high during channel 0 on the iom-2 interface, iom-2 mode. 60 14 fsc2 i/o frame sync 2 : lt-s/lt-t/nt: input synchronization signal, iom-1 and iom-2 mode. te: programmable strobe output, selecting either b1- or b2-channel on the ssi- interface, iom-1 mode. te: pull-up connection for idp1, iom-2 mode.
semiconductor group 21 peb 2086 58 12 dcl i/o data clock : clock of frequency equal to twice the data rate on the iom-interface lt-s/lt-t: clock input 512-khz iom-1 mode 4096-khz iom-2 mode te: clock output 512-khz iom-1 mode 1536-khz iom-2 mode nt: clock input 512-khz 30 40 a0 i address bit 0 (non-multiplexed bus type). 51 6 a1 i address bit 1 (non-multiplexed bus type). 50 5 a2 i address bit 2 (non-multiplexed bus type). 49 5 sdar i serial data port a receive. serial data is received on this pin at standard ttl or cmos level. an integrated pull-up circuit enables connection of an open-drain/open collector driver without an external pull-up resistor. sdar is used only if iom-1 mode is selected. 64 18 a3 i address bit 3 (non-multiplexed bus type). 63 17 a4 i address bit 4 (non-multiplexed bus type). 55 10 a5 i address bit 5 (non-multiplexed bus type). 56 56 10 10 sip eaw i/o i sld interface port , iom-1 mode. this line transmits and receives serial data at standard ttl or cmos levels. external awake (terminal specific function). if a falling edge on this input is detected, the isac-s generates an interrupt and, if enabled, a reset pulse. 52 52 7 7 sdax sds1 o o serial data port a transmit , iom-1 mode. transmit data is shifted out via this pin at standard ttl or cmos levels. serial data strobe 1 , iom-2 mode. a programmable strobe signal, selecting either one or two b- or ic-channels on iom- 2 interface, is supplied via this line. after reset, sdax/sds1 takes on its function only after a write access to spcr is made. 61 6 15 21 m1 m0 i i setting of operating mode. pin definitions and functions of peb 2086 (contd) pin no. p-mqfp-64 pin no. p-lcc-44 symbol input (i) output (o) open drain (od) function
semiconductor group 22 peb 2086 62 5 16 20 x2 x1 i/o i/o mode specific function pins. 7 7 22 22 cp bcl i/o o clock pulses /special purpose pin, iom-1 mode and iom-2 (except te) mode. bit clock : clock of frequency 768 khz, iom-2 mode in te. 57 11 v ssd C digital ground 10 24 v ssa C analog ground 13, 21 31 v dd C power supply (5 v 5%) 12 11 26 25 xtal1 xtal2 i o connection for crystal or external clock input. connection for external crystal. left unconnected if external clock is used. 14 16 27 28 sr2 sr1 i i s-bus receiver input s-bus receiver input 22 23 32 33 sx1 sx2 o o s-bus transmitter output (positive) s-bus transmitter output (negative) 24 25 34 35 idp0(dd) idp1(du) i/o i/o iom-data port 0 (dd) iom-data port 1 (du) iom-1: idp1:open-drain with internal pull- up resistor idp0: push-pull iom-2: open drain without internal pull-up resistor or push-pull (adf2:ods) pin definitions and functions of peb 2086 (contd) pin no. p-mqfp-64 pin no. p-lcc-44 symbol input (i) output (o) open drain (od) function
semiconductor group 23 peb 2086 1.2.2 logic symbol of peb 2086 figure 2 logic symbol of the isac ? -s idp0 sdar v dd xtal1 xtal2 x1...2 m0...1 sr2 sx2 sx1 sr1 itl03792 + 5 v 0 v 0 v reset rst ssa vv ssd 7.68 mhz 100 ppm idp1 sdax/sds1 sip/eaw dcl fsc1 cp/bcl sca/fsd/sds2 fsc2 tr = 100 *) tr = 100 *) ad0...7 (d0...7) (a0...5) cs wr (r/w) rd (ds) int ale p *) terminating resistors only at the far ends of the connection mode special function pins ssi sld clock frame synchronization s/t w w r iom
semiconductor group 24 features 1.3 functional block diagram figure 3 block diagram of the isac ? -s itb00843 fifo d-channel handling b-channel switching interface control buffer isdn basic access layer-1 functions p interface m ssi sld sld ssi p s r iom r iom m
semiconductor group 25 features 1.4 system integration 1.4.1 isdn applications the reference model for the isdn basic access according to ccitt i series recommendations consists of C an exchange and trunk line termination in the central office (et, lt) C a remote network termination in the user area (nt) C a two-wire loop (u interface) between nt and lt C a four-wire link (s interface) which connects subscriber terminals and the nt in the user area as depicted in figure 4. figure 4 isdn basic subscriber access architecture the nt equipment serves as a converter between the u interface at the exchange and the s interface at the user premises. the nt may consist of either an nt1 only or an nt1 together with an nt2 connected via the t interface which is physically identical to the s interface. the nt1 is a direct transformation between layer 1 of s and layer 1 of u. nt2 may include higher level functions like multiplexing and switching as in a pabx. the isac-s is designed for the user area of the isdn basic access, especially for subscriber terminal equipment and for exchange equipment with s interfaces. figure 5 illustrates the general applications of the isac-s. its02314 nt nt1 nt2 nt1 t te te lt et s u isdn user area isdn central office
semiconductor group 26 features figure 5 applications of the isac ? -s (isdn basic access) terminal applications the concept of the isdn basic access is based on two circuit-switched 64 kbit/s b channels and a message oriented 16 kbit/s d channel for packetized data, signaling and telemetry information. figure 6 shows an example of an integrated multifunctional isdn-s terminal using the isac-s. the isac-s provides the interface to the bus and separates the b and d channels. the d channel, containing signaling data and packet switched data, is processed by the lapd controller contained in the isac-s and routed via a parallel m p interface to the terminal processor. the high level support of the lapd protocol which is implemented by the isac-s allows the use of a low cost processor in cost sensitive applications. the iom-2 interface generated by the isac-s is used to connect different voice/data (v/d) application modules: C sources/sinks for the d channel C sources/sinks for the b1 and b2 channels. its02315 lt-s lt-s lt-t sn cp line card te(8) te(1) te(1) s cp sn = = switching network central processor pabx (nt2) nt1 t u = te(1) te(8) u s nt1 direct subscriber access (point-to-point, short and extended passive bus) r isac -s
semiconductor group 27 features figure 6 example of an isdn ? -s voice/data terminal up to eight d channel components (icc: isdn communication controller peb 2070) may be connected to the d and c/i (command/indication) channels (tic bus). the isac-s and icc handle contention autonomously. data transfers between the isac-s and the voice/data modules are done with the help of the iom monitor channel protocol. each v/d module can be accessed by an individual address. the same protocol enables the control of iom terminal modules and the allocation of intercommunication channels inside the terminal. two intercommunication channels ic1 and ic2 allow a 2 64 kbit/s transfer rate between voice/data modules. in the example above ( figure 6 ), one icc is used for data packets in the d channel. a voice processor is connected to a programmable digital signal processing codec filter via ic1 and a data encryption module to a data device via ic2. b1 is used for voice communication, b2 for data communication. the isac-s ensures full upward compatibility with iom-1 devices. it provides the additional strobe, clock and data lines for connecting standard combos or data devices via iom, or serial sld and ssi interfaces. the strobe signals and the switching of b channels is programmable. figure 7 shows the implementation of a basic isdn feature telephone using the isac-s and the audio ringing codec filter featuring speakerphone (arcofi ? -sp: psb 2165). peb 2085 icc peb 2070 speech processing dsp-cofi data encryption hscx sab 8252x c itd02316 data module speech modules data modules c/i b1 ic1 b2 ic2 peb 2086 d, r iom -2 r isac -s
semiconductor group 28 features line card applications an example of the use of the isac-s on an isdn pabx line card (decentralized architecture) is shown in figure 8 . the isac-s is connected to an extended pcm interface controller (epic ? peb 2055) via an iom interface. this interface carries the control and data for up to eight subscribers using time division multiplexing. the isac-s's are connected in parallel on the iom (idp0 output; idp1, dcl, fsc1/2 as inputs), one isac-s per subscriber. the epic performs dynamic b- and d-channel assignment on the pcm highways. since this component supports four iom interfaces, up to 32 subscribers may be accommodated. 1.4.2 microprocessor environment the isac-s is especially suitable for cost-sensitive applications with single-chip microcontrollers (e.g. 8048, 8031, 8051). however, due to its programmable micro- processor interface and non-critical bus timing, it fits perfectly into almost any 8-bit microprocessor system environment. the microcontroller interface can be selected to be either of the motorola type (with control signals cs , r / w , ds ) of the siemens/intel non-multiplexed bus type (with control signals cs , wr , rd ) or of the siemens/intel multiplexed address/data bus type (cs , wr , rd , ale). an example how to connect the isac-s to a siemens/intel microcontroller is shown in figure 9 .
semiconductor group 29 features figure 7 basic isdn feature telephone figure 8 isdn pabx line card implementation itb02317 peb 2085 / 86 psb 2165 power controller psb 2120 irpc s-bus 80c51 80c188 lcd control lcd display r arcofi -sp r iom -2 isac -s r itb02318 peb 2085 / 86 sab 82520 hscc or sab 82525 hscx s-bus (1) (8) s-bus p b + d d peb 2055 system interface pcm hw1 pcm hw0 pcm hw0 pcm hw1 m r iom r epic r isac -s peb 2085 / 86 isac r -s
semiconductor group 30 features figure 9 connecting the isac ? -s to siemens/intel microcontroller int(intx) rd wr ale (pscx) ad7...ad0 int ale cs ad7...ad0 ad0 - ad7 latch a8-a15 memory common bus a15-a0, d7-d0 its02319 sld peb 2085 (80c188) 80c51 a15...a8 sx2 sr1 sx1 sr2 ssi s 0 + 5 v ale wr rd wr rd peb 2086 r iom -2 r isac -s
semiconductor group 31 functional description 2 functional description 2.1 general functions and device architecture the functional block diagram of the isac-s is shown in figure 10 . the left-hand side of the diagram contains the layer-1 functions, according to ccitt i series recommendations: C s-bus transmitter and receiver C timing recovery and synchronization by means of digital pll circuitry C activation/deactivation C access to s and q channels C handling of d channel C test loops C send single/continuous ami pulses (diagnostics). figure 10 architecture of the isac ? -s itb00850 lapd controller status command register fifo controller hdlc receiver hdlc transmitter x-fifo r-fifo interface buffer ami bin d-ch access control dpll timing p-interface m bin ami buffer idp1 idp0 xtal1 xtal2 sr1 sr2 sx2 sx1 v ssa dd v dcl cp/bcl fsc1 sca/ fsd/ sds2 ad0-ad7/ a0-a5& d0-d7 control int rst v ssd ufi * * m1 m0 fsc2 x0, x1, x2 * * only peb 2085 ssi port sld port sip/eaw sdax/ sdar sds1 r iom
semiconductor group 32 functional description the right-hand side consists of: C the serial interface logic for the iom and the sld and ssi interfaces, with b-channel switching capabilities C the logic necessary to handle the d-channel messages (layer 2). the latter consists of an hdlc receiver and an hdlc transmitter together with 64-byte deep fifo's for efficient transfer of the messages to/from the user's cpu. in a special hdlc controller operating mode, the auto mode, the isac-s processes protocol handshakes (i- and s-frames) of the lapd (link access procedure on the d channel) autonomously. control and monitor functions as well as data transfers between the user's cpu and the d and b channels are performed by the 8-bit parallel m p interface logic. the iom interface allows interaction between layer-1 and layer-2 functions. it implements d- channel collision resolution for connecting other layer-2 devices to the iom interface (tic bus), and the c/i and monitor channel protocols (iom-1/iom-2) to control peripheral devices. the timing unit is responsible for the system clock and frame synchronization. 2.2 interface and operating modes the isac-s is configurable for the following applications: C isdn terminals ? te mode C isdn subscriber line termination ? lt-s mode C isdn network termination ? nt mode C isdn trunk line termination ? lt-t mode (pabx connection to central office) configuration is performed by pin-strapping (pins m1, m0), yielding different meanings to the multifunctional pins (x0 (peb 2085 only), x1, x2) as well as the clock and framing signal pins (dcl, fsc1, fsc2, cp) see table 1 and 2 . two basic modes are distinguished, according to whether the isac-s is programmed to operate with the iom-1 or with the iom-2 interface. this programming is performed via bit ims in the adf2 register. 2.2.1 iom ? -1 interface mode (adf2:ims=0) in this mode the iom-1 interface is primarily used to interconnect the layer-1 and layer-2 parts inside the isac-s. b-channel interfacing is performed via the auxiliary serial ssi and sld interfaces. the external availability of the iom interface ports (idp0, 1) can be used for tic bus applications (several layer-2 devices occupying the same d and command/indicate channel connected to one layer-1 device). the timing mode (spcr:spm) defines the operating mode of the sld interface (master/ slave) and the phase relationship between the sld and iom interface ( see chapter 2.3.1 ). the operating modes are shown in table 1 .
semiconductor group 33 functional description table 1 operating modes and functions of mode specific pins of the isac ? -s peb 2085/86 in the iom ? -1 mode *) synchronized to the s/t interface i:input o:output i:o : input to be fixed at "0" **) peb 2086 only echo/m the value of the m-bit is output, multiplexed with the value of the echo-bits on the iom-interface. reproduces the e-bits received from the s interface synchronously to iom frame "d"-bits (bit positions 24 and 25 of the iom frame). all other bit positions, except the m-bit are binary "1". sfs s-frame start. a 4 khz synchronization signal is used to sample the value of the m- bit and to synchronize the start of the s-frame. note that the m-bit functions are only available on the peb 2086. ssync superframe/multiframe synchronization. this input is used to reset the multiframe counter. it is sampled by sfs. scz send continuous binary zeros (96 khz) ssz send single binary zeros (2 khz) pin no. p-dip-40 (peb 2085 only) 14 18 11 12 13 19 15 17 16 pin no. p-lcc-44 15 21 12 13 14 22 16 20 19 pin no. p-mqfp-64 (peb 2086 only) 61 6 58 59 60 7 62 5 C application m1 m0 dcl fsc1 fsc2 cp x2 x1 x0 te 0 0 o:512 khz* o:8 khz* o:8 khz* o:1536 khz* o:echo/m** o:3840 khz i:con lt-t 0 1 i:512 khz i:8 khz i:8 khz o:512 khz* i:o i:o i:con lt-s 1 0 i:512 khz i:8 khz i:8 khz i:o/i:sfs** i:o/i:ssync o:7680 khz i:o nt 1 1 i:512 khz i:8 khz i:8 khz i:scz / i:4 khz** i:ssz i:o C
semiconductor group 34 functional description con connected to the s bus. only available on peb 2085. con = 0: disconnected from the s bus; an activation of the s/t line initiated by the te/lt-t is not possible: info 1 cannot be transmitted. an activation initiated by the network (reception of info2/info4) is still possible. con = 1: connected to the s bus; normal operation, transmission of info 1 (upon an aru command) is possible. C not used x0 mode specific pin (peb 2086) the x0 pin of the peb 2085 isac-s which was intended for the con-input (connected to the s-bus) has been eliminated on peb 2086. as a result, the c/i response dis (disconnect) will not be generated.
semiconductor group 35 functional description the different operating modes in relation to the timing recovery are illustrated in figure 11. figure 11 operating modes of the isac ? -s (iom ? -1) its00844 nt mode peb 2091 idp0 idp1 dcl peb 2085/86 fsc1 fsc2 s u clock master clock slave lt-t mode, timing mode 1 system int. t clock slave clock master dcl fsc2 fsc1 peb 2085/86 system int. s te mode, timing mode 0 peb 2085/86 s clock master sip sclk sip fsd lt-s mode, timing mode 1 peb 2050/52/55 syp clk sip dcl fsc1 sdax sdar type 2 type 1 fsc2 sca ssi 512 kbit/s 512 khz 8 khz 128 kbit/s 128 kbit/s khz 8 khz 128 512 kbit/s 512 khz khz 8 4096 khz fsd sip peb 2085/86 fsc1 fsc2 dcl clk syp peb 2050/52/55 sclk sip clock master clock slave khz 4096 8 khz khz 512 kbit/s 512 khz 8 512 khz 256 kbit/s 256 kbit/s sld
semiconductor group 36 functional description 2.2.2 iom ? -2 interface mode (adf2:ims=1) in this mode the iom interface has the enhanced functionality of iom-2. b-channel interfacing is performed directly via the iom-2 interface and the auxiliary serial ssi and sld interfaces are not longer available (as in iom-1 mode), since they are functionally replaced by the general purpose iom-2 interface. the serial port timing mode (spcr:spm) defines the operating mode of the iom-2 interface i.e. either the terminal mode frame structure (3 channels) or the non-terminal frame structure (8 channels) can be selected ( see chapter 2.4.1 ). the serial port timing mode must be set in accordance to the operating mode, i.e. the te mode requires the terminal timing mode and lt-s/lt-t modes require non-terminal timing-mode. in nt mode the iom frame structure is identical to that of the iom-1 case (1 channel) and the non-terminal timing mode must be selected. the operating modes are shown in table 2. table 2 operating modes and functions of mode specific pins of the isac ? -s peb 2085/86 in iom ? -2 mode *) synchronized to the s/t interface i:input o:output i:o : input to be fixed at "0" echo/m the value of the m-bit is output, multiplexed with the value of the echo-bits on the iom-interface. reproduces the e-bits received from the s interface synchronously to iom frame "d"-bits (bit positions 24 and 25 of the iom frame). all other bit positions, except the m-bit are binary "1". pin no. p-dip-40 (peb 2085 only) 14 18 11 12 13 19 15 17 16 pin no. p-lcc-44 15 21 12 13 14 22 16 20 19 pin no. p-mqfp-64 (peb 2086 only) 61 6 58 59 60 7 62 5 C application m1 m0 dcl fsc1 fsc2 cp x2 x1 x0 te 0 0 o:1536 khz* o:8 khz* o:pu1 o:768 khz* o:echo/m** o:pu0 i:con lt-t 0 1 i:4096 khz i:8 khz i:8 khz o:512 khz* i:o i:o i:con lt-s 1 0 i:4096 khz i:8 khz i:8 khz i:o i:o o:7680 khz i:o nt 1 1 i:512 khz i:8 khz i:8 khz i:scz i:ssz i:o C
semiconductor group 37 functional description scz send continuous binary zeros (96 khz) ssz send single binary zeros (2 khz) con connected to the s bus. con = 0: disconnected from s bus; an activation of the s/t line initiated by the te/lt-t is not possible: info 1 cannot be transmitted. an activation initiated by the network (reception of info2/info4) is still possible. con = 1: connected to the s bus; normal operation, transmission of info 1 (upon an aru command) is possible. pu0 pull-up pin for idp0 (power saving option in te mode, see chapter 2.4.2 ) pu1 pull-up pin for idp1 (power saving option in te mode, see chapter 2.4.2 ) C not used x0 mode specific pin (peb 2086) the x0 pin of the peb 2085 isac-s which was intended for the con-input (connected to the s-bus) has been eliminated on peb 2086. as a result, the c/i response dis (disconnect) will not be generated.
semiconductor group 38 functional description the different operating modes in relation to the timing recovery are illustrated in figure 12 . figure 12a operating modes of isac ? -s (iom ? -2) 768 768 8 8 1536 clock master s idp1 idp0 peb 2085/86 dcl fsc1 bcl sds1/2 v/d module te mode, terminal timing mode s lt-s mode, non-terminal timing mode system int. peb 2055 peb 2085/86 fsc1 fsc2 idp0 idp1 dcl clock master clock slave its03426 khz khz khz khz kbit/s kbit/s 768 8 khz khz 4096 2048 kbit/s 2048 kbit/s (dd) (du)
semiconductor group 39 functional description figure 12b operating modes of isac ? -s (iom ? -2) its00851 nt mode peb 2091 idp0 idp1 dcl peb 2085/86 fsc1 fsc2 s u clock master clock slave lt-t mode, non-terminal timing mode system int. t peb 2055 peb 2085/86 fsc1 fsc2 idp0 idp1 dcl clock master 2048 kbit/s 2048 kbit/s 4096 khz 8 khz 256 kbit/s khz 8 512 khz 256 kbit/s clock master
semiconductor group 40 functional description 2.3 iom ? -1 mode functions 2.3.1 iom ? -1 frame structure / timing modes this interface consists of one data line per direction (iom data ports 0 and 1:idp0, 1). three additional signals define the data clock (dcl) and the frame synchronization (fsc1/2) at this interface. the data clock has a frequency of 512 khz (twice the data rate) and the frame sync clock has a repetition rate of 8 khz. via this interface four octets are transmitted per 125 m s frame ( figure 13 ). the first two octets constitute the two 64 kbit/s b channels. in the isac-s the monitor channel (third octet) serves: C for arbitration of the access to the iom-tic bus on idp1 in case several layer-2 components are connected together ( see chapter 2.3.9 ). C to indicate the status on the s bus d channel (idp0, bit 3 of the monitor octet), "stop/go" ( see chapter 2.5.7 ). C for the exchange of data using the iom-1 monitor channel protocol which involves the e bit as data validation bit ( see chapter 2.3.7 ). two bits in the fourth octet are used for the 16 kbit/s d channel. the controlling and monitoring of layer-1 functions (activation/deactivation of the s interface...) is done via the command/ indication bits. the t bit is not used in isac-s iom-1 applications. figure 13 iom ? -1 frame structure iom ? -1 timing in te mode the iom timing is internally generated by dpll circuitry from the s interface and dcl and fsc 1/2 are outputs. in lt-s, nt and lt-t modes the clock and frame synchronization signals are inputs. the iom interface can be operated either in timing mode 0 or in timing mode 1, selected by spm bit in spcr register. itd00852 b1 b2 monitor d te i c / tic-bus 125 s
semiconductor group 41 functional description timing mode 0 (spm = 0) in timing mode 0 the sld operates in master mode and the ssi (serial port a) is operational; pin sca/fsd delivers a 128-khz clock (sca). the iom, sld and ssi interface frame begin is at the same point in time i.e. at the rising edge of fsc1,2 (adf1:fc2,1=0). in te mode , it is mandatory to program timing mode 0. the polarity of the symmetrical 8-khz output signals fsc1 and fsc2 can be independently selected via adf1:fc2, 1. in lt-t and lt-s modes , timing mode 0 may be programmed if the sld master mode and/ or the ssi interface is required. in these cases fsc1 and fsc2 (inputs) should both be connected to the same 8-khz frame sync signal ( see figure 14 ). figure 14 iom ? -1 interface signals/timing mode 0 its00853 idp1 idp0 dcl fsc1/2 te mode timing mode 0 compatible communications controller lt-t, lt-s mode timing mode 0 compatible controller idp1 idp0 dcl fsc1 fsc2 fsc (syst.) clk (syst.) sld/ssi frames frame fsc1/2 (adf1 : fc2,1 = 00) r iom -2 r iom r isac -s r iom -2 iom r isac -s r iom r
semiconductor group 42 functional description timing mode 1 (spm = 1) timing mode 1 (spm = 1) is only meaningful in exchange applications (lt-s, lt-t) when the sld is used. in timing mode 1 the sld operates in slave mode and the ssi (serial port a) is no longer available. the iom is synchronized by a frame signal fsd delayed in time respect to the frame sync pulse input via fsc1. this reduces the b-channel round-trip delay time when the sld is used ( figure 15 ). for correct operation in timing mode 1, the output fsd should be connected to the fsc2 input ( see figures 11 and 15 ). figure 15 iom ? -1 interface signals/timing mode 1 idp1 idp0 dcl fsc2 fsd fsc1 sip compatible controller lt-t, lt-s mode timing mode 1 sld sld (syst.) fsc (syst.) clk (syst.) idp1: = 256 kbit/s idp0: = 256 kbit/s 1/8 frame period fsc1 (system) fsc2 (iom its02328 dcl: = 512 kbit/s fsc: = 8 khz r iom iom r r isac -s r )
semiconductor group 43 functional description 2.3.2 iom ? -1 interface connections in iom-1 interface mode C pin idp0 carries b channel, monitor, d and c/i data from layer-1 to layer-2 C pin idp1 carries b channel, monitor, d and c/i data from layer-2 to layer-1. idp1 is an open drain output with an integrated pull up circuitry. the b channels can be set inactive (ff h ) by setting the b channel connect bits c1c1-0 and c2c1-0 in the spcr register to 0 (sld loop), which is the state after a hardware reset. the monitor channel is inactive (ff h ) if no monitor channel transfer is programmed and the tic bus (i.e. the fourth octet of iom frame: d and c/i channels) is not accessed. figure 16 iom ? -1 data ports 0, 1 (iom ? -1) p idp1 layer-2 e.g. icc (peb 2070) idp0 idp0 functions layer-2 idp1 p (open drain) idp0 idp1 idp0 idp1 layer-1 functions s/t interface v dd c/i channel) the controllers can have access to optional: up to 7 layer 2 its02329 ? r isac -s r iom -1 tic bus r iom -1 tic bus (d and
semiconductor group 44 functional description 2.3.3 sld interface the standard sld interface is a three-wire interface with a 512-khz clock (dcl), an 8-khz frame direction signal (te mode: fsc1/2 output; lt-s/lt-t modes: fsc1 sync input), and a serial ping-pong data lead (sip) with an effective full duplex data rate of 256 kbit/s. the frame is composed of four octets per direction. octets 1 and 2 contain the two b channels, octet 3 is a feature control byte, and octet 4 is a signaling byte ( figure 17 ). the sld interface can be used in: C terminal applications (te) as a full duplex time-multiplexed (ping-pong) connection to b-channel sources/destinations. codec filters, such as the sicofi ? (peb 2060) or the arcofi (psb 2160) as well as other sld compatible voice/data modules may be connected directly to the isac-s as depicted in figure 16 . in te applications timing mode 0 (spcr:spm=0) has to be programmed, hence sld operates in master mode. moreover, terminal specific functions have to be deselected (stcr:tsf=0). the m c system has access to b-channel data, the feature control byte and the signaling byte via the isac-s registers: Cc1r (35 h ), c2r (36 h ) ? b1/b2 C sfcr and sfcw (34 h ) ? fc C sscr and sscx (33 h ) ? sig the m p access to c1r, c2r and sfcr/sfcw must be synchronized to the serial transmission by means of the synchronous transfer interrupt (stcr) and the bvs-bit (star) ( see chapter 2.3.6 ). figure 17 connection of b-channel sources/destinations to the isac ? -s via sld in timing mode 0 its00858 512 kbit/s 8 khz 512 sld compatible voice/data module b-channel source/destination sip dcl fsc1/2 te mode timing mode 0 isdn sunscriber access sld timing mode 0 s sld in sld out sig fc b2 b1 sip b1 b2 fc sig fsc1/2 khz r isac -s
semiconductor group 45 functional description C digital exchange applications (lt-s/lt-t) as a full duplex time-multiplexed connection to convey the b channels between the s/t interface and a peripheral board controller (e.g. pbc peb 2050 or pic peb 2052), which performs time-slot assignment on the pcm highways, forming a system interface to a switching network ( figure 18 ). timing mode 1 (spcr:spm=1) has to be programmed, hence sld operates in slave mode. figure 18 connection of the isac ? -s as b-channel source/destination to a peripheral board controller via sld, in timing mode 1 the m c system has access to b-channel data via the isac-s registers: Cc1r (35 h ), c2r (36 h ) ? b1/b2 the m p access to c1r and c2r must be synchronized to the serial transmission by means of synchronous transfer interrupt (stcr) and the bvs bit (star) ( see chapter 2.3.6 ). its00859 512 kbit/s 8 khz 512 sipx scl syp pbc sld s sld in sld out sig fc b2 b1 sip b1 b2 fc sig fsc1 khz fsd 1/8 frame period timing mode 1 sip dcl 1 fsc 2 fsc fsd lt-s/lt-t clk pcm highway system interface r isac -s
semiconductor group 46 functional description 2.3.4 ssi (serial port a) the ssi (serial synchronous interface) is available only in timing mode 0 (spcr:spm=0). the serial port ssi serves as a full duplex connection to b-channel sources/destinations in terminal equipment with a data rate of 128 kbit/s. both channels b1 and b2 can be switched independently of one another to the iom-1 interface and thus to the s/t interface (spcr:cxc1, cxc0). in case of the peb 2086, the b1- and b2-channels are handled as one 128-kbit/s channel. the data transfer between ssi an iom is shown in figure 22d . the ssi consists of one data line in each direction (sdax and sdar), an 8-khz strobe output (fsc1 and/or fsc2) and the 128-khz clock output (sca). figure 19 connection of the b-channel sources/destinations to the isac ? -s via ssi this serial interface allows the connection of voice/data modules, such as serial synchronous transceiver devices (usart's, icc peb 2070, hscx sab 82525, itac ? , psb 2110...) and various codec filters directly to the isac-s, as illustrated in figure 19 . by programming the adf1 register it is possible to independently set the strobe signal fsc1/ 2 polarities so that either b1 or b2 is selected by the v/d module. the m c system has access to b-channel data via the isac-s registers bxcr and cxr. the m c access must be synchronized to the serial transmission by means of the synchronous transfer interrupt stcr ( see chapter 4 ). its00857 128 kbit/s 8 khz 128 voice/data module b-channel source/destination sdar sdax fsc1/2 te mode timing mode 0 isdn sunscriber access ssi s b2 sdar, b1 fsc1/2 khz 128 kbit/s sca x * ) ) * default polarity (adf1 register) r isac -s
semiconductor group 47 functional description 2.3.5 b-channel switching the isac-s contains two serial interfaces, sld and ssi, which can serve as interfaces to b channel sources/destinations. both channels b1 and b2 can be switched independently of one another to the iom interface and to the four-wire s/t interface ( figure 20 ). the following possibilities are provided: C switching from/to ssi C switching from/to sld C iom looping C sld looping. the microcontroller can select the b-channel switching in the spcr register. in figure 21 all possible selections of the b-channel routes and access to b-channel data via the microprocessor interface are illustrated. this access from the microcontroller is possible by writing or reading the c1r/c2r register or reading the b1cr/b2cr register ( see synchronous transfer, paragraph 2.3.6 ). figure 20 principle of b-channel switching p-interface m registers : c1r / c2r b1cr / b2cr spcr ssi sld sld ssi interface itb00862 b-channel sources / destinations access basic isdn functions layer 1 s/t isdn basic access r iom
semiconductor group 48 functional description figure 21 b-channel routes and access to b-channel data 2.3.6 m p access to b channels the b1 and/or b2 channels are accessed by reading the b1cr/b2cr or by reading and writing the c1r/c2r registers. the m p access can be synchronized to the serial interface by means of a synchronous transfer programmed in the stcr register. the read/write access possibilities are shown in table 3. its00863 ssi sld p sld ssi sld ssi ssi sld ssi switching switching sld ff h ff h = p access = b-channel route ff hh ff ff h sld loop loop * b1 = ff h b2 = undefines value ) ) * p p p r iom iom r iom r iom r * ) ff h r iom
semiconductor group 49 functional description table 3 m p access to b channels (iom ? -1) note: x = 1 for channel 1 or 2 for channel 2 the synchronous transfer interrupt (sin, ista register) can be programmed to occur at either the beginning of a 125 m s frame or at its center, depending on the channel (s) to be accessed and the current configuration, see figure 22 . (a) c x c1, c x c0 = 00, sld loop figure 22 b x channel access cxc1 application(s) cxc0 read write read 0 b not switched, sld looping 0 sld sld iom 0 b switched to/from sld 1 sld C iom 1 b switched to/from ssi 0 ssi C iom 1 iom looping 1 iom iom C c r b cr p cxr bxcr sld sip idp0 b1 b2 b1 p sin(st0) its00864 fsc bvs sld b1 b2 b1 b2 b1 b2 idp0 access out in r iom
semiconductor group 50 functional description (b) c x c1, c x c0 = 01, sld-iom ? connection p cxr bxcr ssi sip idp0 idp1 b1 b2 b2 b1 p sin(st0) its00865 fsc bvs idp1 sip b1 b2 b1 b2 b1 b2 b1 b2 b2 b1 b2 b1 idp0 access r iom
semiconductor group 51 functional description (c) c c1, c c0 = 10, ssi-iom ? connection (peb 2085) p cxr bxcr ssi iom sdar sdax idp0 idp1 b2 b1 b1 b2 b2 b1 b2 b1 p access b1 ssi b1/2 p access b2 ssi sin(st0) sin(st1) its00866 fsc sdar idp1 idp0 sdax b2 b2 b1 b2 b2 b1 r iom r
semiconductor group 52 functional description (d) c c1, c c0 = 10, ssi-iom ? connection (peb 2086) p cxr bxcr ssi sdar sdax idp0 idp1 b1 b2 b1 b1 b2 b2 b1 b2 b1 p access b1 ssi b1/2 p access b2 ssi sin(st0) sin(st1) its03734 fsc sdar idp1 idp0 sdax r iom r iom
semiconductor group 53 functional description (e) c c1, c c0 = 11, iom ? loop p cxr idp0 p sin(st0) its00867 fsc b1 b2 idp1 access idp1 idp0 b2 b1 b1 b2 b2 b1 r iom
semiconductor group 54 functional description 2.3.7 monitor channel handling the monitor channel in iom-1 mode is used for the exchange of control information between the isdn communication controller icc (peb 2070) and layer-1 devices like the isdn burst controller ibc (peb 2095) or the isdn echo cancellation circuit iec (peb 2090). since the isac-s combines the functions of the icc and the s bus interface circuit sbc (peb 2080) and since the sbc does not use the monitor channel for data transfers, there is usually no necessity for performing monitor channel operations with the isac-s in iom-1 mode. the implemented monitor handler of the icc is however fully operational and can therefore be used in conjunction with external layer-1 transceivers in case only the icc part of the isac-s is used (adf1:tem). prerequisite for data transfers over the monitor channel is an appropriate code in the mode register e.g. mode:dim2-0 = 010 or 011. only one byte of information at a time can be transferred between the isac-s and another device. the procedure is as follows: monitor transmit channel (mox) register is loaded with the value to be sent in the outgoing monitor channel. (bytes of the form fx h are not allowed for this purpose because of the tic bus collision resolution procedure). the receiving device interprets the incoming monitor value as a control/information byte, fx h excluded. if no response is expected, the procedure is complete. if the receiving device does react by transmitting information to the isac-s, it should set the e bit to "0" and send the response in the monitor channel of the following frame. the isac-s C latches the value in the monitor channel of the frame immediately following a frame with "e=0" into mor register. C generates a monitor status interrupt mos (exir register) to indicate that the mor register has been loaded. see figure 23 . figure 23 monitor channel protocol (iom ? -1) itd00868 idp0 idp1 x y xf = h ~ ~ ~~ 0 0 e mon mon e mor load, mos int. mor load, mos int. mon
semiconductor group 55 functional description 2.3.8 command/indicate (c/i) channel handling the c/i channel conveys the commands and indications between the layer-1 and layer-2 parts of the isac-s. this channel is available in all timing modes. beside being accessed by the internal layer-2 part, it can also be accessed by an external layer-2 device, e.g. to control the layer-1 activation/deactivation procedures. this access is arbitrated via the tic bus access protocol which is performed in the monitor channel. the c/i channel is accessed via register cirr (in receive direction, layer-1 to layer-2) and register cixr (in transmit direction, layer-2 to layer-1). the c/i code is four bits long. a listing and explanation of the layer-1 c/i codes can be found in chapter 3.4 . in the receive direction, the code from layer-1 is continuously monitored, with an interrupt being generated anytime a change occurs (ista:cisq). a new code must be found in two consecutive iom frames to be considered valid and to trigger a c/i code change interrupt status (double last look criterion). in the transmit direction, the code written in cixr is continuously transmitted in the c/i channel. 2.3.9 tic bus access the arbitration mechanism implemented in the monitor channel of the iom allows the access of external communication controllers (up to 7) to the layer-1 functions provided in the isac-s and to the d channel. (tic bus; see figure 24 ). to this effect the outputs of the controllers (icc:isdn communication controller peb 2070) are wired-or-and connected to pin idp1, a pull-up resistor being already provided in the isac-s. the inputs of the icc's are connected to pin idp0.
semiconductor group 56 functional description figure 24 applications of iom ? bus configuration its00854 d-channel telemetry/ packet communication icc (7) (2) icc with d-channel communication voice/data b-channel (1) icc application ivd lan e-channel signaling signaling b-channel voice/data communication with d-channel dcl fsc idp1 idp0 echo e-channel ccitt s-interface p tic-bus r iom -2 r isac -s
semiconductor group 57 functional description an access request to the tic bus may either be generated by software ( m p access to the c/i channel) or by the isac-s itself (transmission of an hdlc frame). a software access request to the bus is effected by setting the bac bit (cixr register) to "1". in case of an access request, the isac-s checks the bus accessed-bit (bit 3 of idp1 monitor octet, see figure 25 ) for the status "bus free", which is indicated by a logical "1". if the bus is free, the isac-s transmits its individual tic bus address programmed in stcr register. the tic bus is occupied by the device which sends its address error-free. if more than one device attempts to seize the bus simultaneously, the one with the lowest address value wins. figure 25 monitor channel structure on idp1 when the tic bus is seized by the isac-s, the bus is identified to other devices as occupied via the idp1 monitor channel bus accessed bit state "0" until the access request is withdrawn. after a successful bus access, the isac-s is automatically set into a lower priority class, that is, a new bus access cannot be performed until the status "bus free" is indicated in two successive frames. if none of the devices connected to the iom interface request access to the d and c/i channels, the tic bus address 7 will be present. the device with this address will therefore have access, by default, to the d and c/i channels. note: bit bac (cixr register) should be reset by the m p when access to the c/i channels is no longer requested, to grant other devices access to the d and c/i channels. the availability of the s/t interface d channel is indicated in bit 3 "stop/go" (s/g) of the idp0 monitor channel ( figure 26 ). s/g = 1 : stop s/g = 0 : go figure 26 monitor channel on idp0 the stop/go bit is available to other layer-2 devices connected to the iom to determine if they can access the s/t bus d channel. tic bus address tba2-0 0 1 2 3 4 5 6 7 bus accessed = "1" (no tic bus access) if C bac = "0" (cixr register) and C no hdlc transmission 0 1 2 3 4 5 6 7 1 1 1 s/g 1 1 1 1
semiconductor group 58 functional description 2.4 iom ? -2 mode functions 2.4.1 iom ? -2 frame structure / timing modes the iom-2 is a generalization and enhancement of the iom-1. while the basic frame structure is very similar, iom-2 offers further capacity for the transfer of maintenance information. in terminal applications, the iom-2 constitutes a powerful backplane bus offering intercommunication and sophisticated control capabilities for peripheral modules. the channel structure of the iom-2 is depicted in figure 27 . figure 27 channel structure of iom ? -2 * the 64-kbit/s channels, b1 and b2, are conveyed in the first two octets. * the third octet (monitor channel) is used for transferring maintenance information between the layer-1 functional blocks (sbcx, iecq) and the layer-2 controller ( see chapter 2.4.4 ). * the fourth octet (control channel) contains C two bits for the 16-kbit/s d channel C four command/indication bits for controlling activation/deactivation and for additional control functions C two bits mr and mx for supporting the handling of the monitor channel. in the case of an iom-2 interface the frame structure depends on whether te- or non-te mode is selected, via bit spm in spcr register. non-te timing mode (spm=1) this mode is used in lt-s and lt-t applications. the frame is a multiplex of eight iom-2 channels ( figure28 ), each channel has the structure in figure 27 . the isac-s is assigned to one of the eight channels (0 to 7) via register programming (adf1:csel2-0). itd02582 b1 b2 monitor d m rx m i c /
semiconductor group 59 functional description thus the data rate per subscriber connection (corresponding to one channel) is 256 kbit/s, whereas the bit rate is 2048 kbit/s. the iom-2 interface signals are: idp0, 1 : 2048 kbit/s dclk : 4096 khz input fsc1/2* : 8 khz input *note: fsc1 and fsc2 should be connected together ( see figure 12 ). additionally the isac-s supplies two programmable strobe signals (sds1/2), active over the b-channels of the selected iom channel (cf. adf2:dxc2-0). figure 28 multiplexed frame structure of the iom ? -2 interface in non-te timing mode itd00855 ch0 ch1 ch2 ch3 ch4 ch5 ch6 ch7 ch0 ch0 ch7 ch6 ch5 ch4 ch3 ch2 ch1 b1 b2 monitor d c / i mm rx 125 fsc1/2 dcl idp0 idp1 s r iom iom ch0 r
semiconductor group 60 functional description te timing mode (spm=0) the frame is composed of three channels ( figure 29 ): * channel 0 contains 144 kbit/s (for 2b+d) plus monitor and command/indication channels for the layer-1 device. * channel 1 contains two 64-kbit/s intercommunication channels plus monitor and command/indication channels for other iom-2 devices. * channel 2 is used for iom bus arbitration (access to the tic bus). only the command/ indication bits are used in channel 2. see section 2.4.6 for details. figure 29 definition of iom ? -2 channels in terminal timing mode the iom-2 signals are: idp0, 1 : 768 kbit/s (idp0 = data downstream (dd); idp1 = data upstream (du)) dcl : 1536 khz output fsc1 : 8 khz output. in addition, to support standard combos/data devices the following signals are generated as outputs: bcl : 768 khz bit clock sds1/2 : 8 khz programmable data strobe signals for selecting one or both b/ic channel(s). important note: if the isac-s is configured in nt mode, the iom frame structure is identical to that of the iom-1 case. itd05968 tad 125 s ipd0 (dd) b1 b2 mon0 ci0 ic1 ic2 mon1 ci1 d mr mx mx mr s/g fsc1 bac mr mx mx mr d ci1 mon1 ic2 ic1 ci0 mon0 b2 b1 (du) ipd1 sds1 ch0 a/b /2 r iom -2 r iom -2 ch1 r iom -2 ch2
semiconductor group 61 functional description 2.4.2 iom ? -2 interface connections output driver selection the type of the iom output is selectable via bit ods (adf2 register). thus when inactive (not transmitting) idp0, 1 are either high impedance (ods=1) or open drain "1" (ods=0). normally the iom-2 interface is operated in the "open drain" mode (ods=0) in order to take advantage of the bus capability. in this case pull-up resistors (1 k w C5k w ) are required on idp0 and idp1. iom ? direction control for test applications, the direction of idp0 and idp1 can be reversed during certain timeslots within the iom-2 frame. this is performed via the idc bit in the sqxr register. for normal operation sqxr:idc should be set to "0". in iom-2 terminal mode these pull-up resistors can also be connected to fsc2/x1 pins instead of v dd in order to reduce the power dissipation.
semiconductor group 62 functional description non-terminal mode (spcr:spm=1) outside the programmed 4-byte subscriber channel (bits csel2-0, adf1 register), both idp1 and idp0 are inactive. inside the programmed 4-byte subscriber channel ( see figure 30 ): C idp1 carries the 2b+d channels as output towards the subscriber (i.e. to the s/t interface) and the monitor and c/i channel as output to the layer-1 C idp1 is inactive during b1 and b2 C idp0 carries the 2b+d channels coming from s/t interface, and the monitor and c/i channels from layer-1. if idc (iom direction control, sqxr register) is set to "1", idp0 sends the monitor, d and c/i channels normally carried by idp1, i.e. normally destined to layer-1 s/t interface. this feature can be used for test purposes, e.g. to send the d channel towards the system instead of the subscriber ( see figure 31 ). figure 30 iom ? data ports 0, 1 in non-terminal mode (spcr:spm=1) with normal iom ? direction (sqxr:idc=0) idp0 idp1 layer (sbc) s/t interface its02348 idp0 idp1 line-card controller e.g. epic peb b1/b2 idp0 idp1 (icc) mon, tm 1 layer 2 d, c/i 2055 r isac -s r iom -2 interface itd03425 b1 b2 monitor d m rx m i c / layer idp1 1 s / t 1 idp0 c / i m x r m d monitor b2 b1 layer s / t layer 2 layer 2 r iom r iom
semiconductor group 63 functional description figure 31 iom ? data ports 0, 1 in non-terminal mode (spcr:spm=1) with reversed iom ? direction (sqxr:idc=1) idp0 idp1 layer 1 (sbc) s/t interface its02349 idp0 idp1 line-card controller e.g. epic peb 2055 b1/b2 idp0 idp1 layer 2 (icc) mon, d, c/i r isac -s r iom -2 interface r itd02574 b1 b2 monitor d m rx m i c / layer idp1 2 s/t 2 idp0 c / i m x r m d monitor b2 b1 layer s/t r iom r iom iom r iom r
semiconductor group 64 functional description terminal mode (spm=0) in this case the iom has the 12-byte frame structure consisting of channels 0, 1 and 2 ( see figure 29 ): C idp0 carries the 2b+d channels from the s/t interface, and the monitor 0 and c/i 0 channels coming from the s/t controller; C idp1 carries the monitor 0 and c/i 0 channels to the layer-1. channel 1 of the iom interface is used for internal communication in terminal applications. two cases have to be distinguished, according to whether the isac-s is operated as a master device (communication with slave devices via monitor 1 and c/i 1), or as a slave device (communication with one master via monitor 1 and c/i 1). if idc is set to "0" (master mode): C idp0 carries the monitor 1 and c/i 1 channels as output to peripheral (voice/data) devices; C idp0 carries the ic channels as output to other devices, if programmed (c c1 C 0 = 01 in register spcr). if idc is set to "1" (slave mode): C idp1 carries the monitor 1 and c/i 1 channels as output to a master device; C idp0 carries the ic channels as output to other devices, if programmed (c c1 C 0 = 01 in register spcr). if required (cf. dim2-0, mode register), bit 5 of the last byte in channel 2 on idp0 is used to indicate the s bus state (stop/go bit) and bits 2 to 5 of the last byte are used for tic bus access arbitration ( see chapter 2.4.6 ). figure 33 shows the connection in a multifunctional terminal with the isac-s as a master ( figure 33b ) and an icc as a slave device. iom ? -2 interface power saving option in order to reduce power consumption on the iom interface to a minimum while in the operational state the idp0 and idp1 pins may be connected as illustrated in figure 32 . this option is only available in iom-2 terminal mode. when programmed as open drain i/o's, pull-ups should be connected to idp0/1 in order to obtain a well-defined "high" voltage for a logical "1" when the driver is in high-impedance. however, a pull-up resistor connected to a static v dd has the disadvantage that power is unnecessarily dissipated (according to the r / 2 law) when a "low" is output. moreover, a static pull-up resistor does not exploit the knowledge about the timing of the receiver at the other end. these two disadvantages are largely avoided when using pins x1 and fsc2 for pull-ups on idp0 and idp1, respectively. as shown in the timing diagram in figure 32 : C x1 (fsc2) is connected to v dd when nothing is being transmitted on idp0 (idp1) C x1 (fsc2) is not connected when a "0" is being output on idp0 (idp1) (which has the effect of reducing the power consumption practically to "0" during this time) C x1 (fsc2) is connected to v dd when a "1" is to be transmitted and is indeed being latched by the destination.
semiconductor group 65 functional description x1 and fsc2 are driven between the first and the second falling edge of the dcl signal. they are always not connected between the first rising and the first falling edge as well as the second falling and the first rising edge. note: this feature should not be used if a psb 2186 isac-s te is considered to replace the peb 2085/2086. figure 32 iom ? -2 connections for power saving option iom ? off function in iom-2 terminal mode (spcr:spm=0) the iom interface can be switched off for external devices via iof bit in adf1 register. if iof=1, the interface is switched off i.e. dcl, fsc1, idp0/1 and bcl are high impedance. itd02347 v dd n.c. x1 idp0 (o.d.) (o.d.) idp1 fsc2 n.c. = not connected x1 fsc2 idp0 idp1 n.c. dd v v dd n.c. n.c. dd v v dd 0v v 0 dd v dcl
semiconductor group 66 functional description figure 33a iom ? data ports 0, 1 in terminal mode (spcr:spm=0) idp0 idp1 layer 1 (sbc) its02355 idp0 idp1 idp0 idp1 layer 2 (icc) module voice/data idp1 idp0 e.g. peb 2070 (icc) in slave mode (idc=1) in master mode (idc = 0) c mon1, c/i1, ic1, ic2 2b+d, c/i0, mon0, s/g, tic master slave s/t interface (du) (dd) (dd) (du) r isac -s isac -s r r iom -2 interface
semiconductor group 67 functional description figure 33b itd05415 tic-bus ipd0 (dd) b1 b2 mon0 ci0 ic1 ic2 mon1 ci1 d mr mx mx mr s/g bac mr mx mx mr d ci1 mon1 ic2 ic1 ci0 mon0 b2 b1 (du) ipd1 ch0 ch1 ch2 a/b tad s/t ic transmit if progr. layer layer 1 2 layer 2 2 layer 1 2 layer layer if progr. ic receive s/t s/t ic transmit if progr. layer layer 21 layer 2 2 layer 2 1 layer layer if progr. s/t tad ch2 ch1 ch0 ipd1 (du) b1 b2 mon0 ci0 ic1 ic2 mon1 ci1 d mr mx mx mr bac mr mx mx mr d ci1 mon1 ic2 ic1 ci0 mon0 b2 b1 (dd) ipd0 tic-bus a/b s/g r iom -2 iom r -2 r iom -2 -2 iom r iom r -2 -2 iom r iom r -2 iom r -2
semiconductor group 68 functional description 2.4.3 m p access to b and ic channels in iom-2 terminal mode (te mode, spcr:spm=0) the microprocessor can access the b and ic (intercommunication) channels at the iom-2 interface by reading the b1cr/b2cr or by reading and writing the c1r/c2r registers. furthermore it is possible to loop back the b-channels from/to the s/t interface or to loop back the ic channels from/to the iom-2 interface without m p intervention. these access and switching functions are selected with the channel connect bits (cxc1, cxc0) in the spcr register ( table 4, figure 34 ). external b-channel sources (voice/data modules) connected to the iom-2 interface can be disconnected with the iom off function (adf1:iof) in order to not disturb the b-channel access ( see figure 34 ). if the b-channel access is used for transferring 64 kbit/s voice/data information directly from the m p port to the isdn s/t interface, the access can be synchronized to the iom interface by means of a synchronous transfer interrupt programmed in the stcr register. table 4 m p access to b/ic channels (iom ? -2) note: x=1 for channel 1 or 2 for channel 2 the general sequence of operations to access the b/ic channels is: c c1 applications c c0 read write read 0 b monitoring, ic monitoring 0 ic C b 0 b monitoring, ic looping from/to iom-2 1 ic ic b 1 b access from/to s 0 ; transmission of a constant value in b channel to s 0 0 C b b 1 b looping from s 0 ; transmission of a variable pattern in b channel to s 0 1 b b C c r b cr iom-2 C ic b b output c r to (set configuration register spcr) program synchronous interrupt (st0) sin C > read register (b cr, c r) (write register) acknowledge sin (sc0)
semiconductor group 69 functional description figure 34 principle of b/ic channel access in iom ? -2 terminal mode (a) spcr:c c1, c c0 = 00 b monitoring, ic monitoring (sqxr:idc=0) figure 35 access to b and ic channels in iom ? -2 terminal mode idp0 idp1 layer-1 functions s/t interface its02350 p interface adf1: register: c1r/c2r b1cr/b2cr spcr iof (du) (dd) r isac -s r (iom off) r iom -2 interface bxcr layer-1 functions s/t interface its02351 p bx cxr icx idp1 idp0 (dd) (du) r iom -2 interface
semiconductor group 70 functional description (b) spcr:c c1, c c0 = 01 b monitoring, ic looping (sqxr:idc=0) (c) spcr:c c1, c c0 = 10 b access from/to s/t transmission of constant value to s/t bxcr its02352 p icx bx cxr s/t interface layer-1 functions idp1 idp0 (dd) (du) r iom -2 interface bxcr its02353 p bx cxr bx s/t interface layer-1 functions idp1 idp0 (dd) (du) r iom -2 interface
semiconductor group 71 functional description (d) spcr:c c1, c c0 = 11 b looping from/to s/t transmission of variable pattern to s/t 2.4.4 monitor channel handling in iom-2 mode, the monitor channel protocol is a handshake protocol used for high speed information exchange between the isac-s and other devices, in monitor channel "0" or "1" ( see figure 29 ). in the non-te mode, only one monitor channel is available ("monitor channel 0"). the monitor channel protocol is necessary: l for programming and controlling devices attached to the iom. examples of such devices are: layer-1 transceivers (using monitor channel 0), and peripheral v/d modules that do not need a parallel microcontroller interface (monitor channel 1), such as the audio ringing codec filter psb 2160. l for data exchange between two microcontroller systems attached to two different devices on one iom-2 backplane. use of the monitor channel avoids the necessity of a dedicated serial communication path between the two systems. this greatly simplifies the system design of terminal equipment ( figure 36 ). note: there is normally no necessity for monitor channel operations over "monitor channel 0" since the internal layer-1 part of the isac-s does not support this function. the implemented monitor handler can however be used with external layer-1 transceivers in case only the icc part of the isac-s is used (adf1:tem). cxr its02354 p bx bx s/t interface layer-1 functions idp1 idp0 (dd) (du) r iom -2 interface
semiconductor group 72 functional description figure 36 examples of monitor channel applications in iom ? -2 te mode the monitor channel operates on an asynchronous basis. while data transfers on the bus take place synchronized to frame sync, the flow of data is controlled by a handshake procedure using the monitor channel receive (mr0 or 1) and monitor channel transmit (mx0 or 1) bits. for example: data is placed onto the monitor channel and the mx bit is activated. this data will be transmitted repeatedly once per 8-khz frame until the transfer is acknowledged via the mr bit. the microprocessor may either enforce a "1" (idle) in mr, mx by setting the control bit mrc1, 0 or mxc1, 0 to "0" (monitor control register mocr), or enable the control of these bits internally by the isac-s according to the monitor channel protocol. thus, before a data exchange can begin, the control bit mrc(1, 0) or mxc(1, 0) should be set to "1" by the microprocessor. the monitor channel protocol is illustrated in figure 37 . since the protocol is identical in monitor channel 0 and monitor channel 1 (available in te mode only), the index 0 or 1 has been left out in the illustration. the relevant status bits are: in addition, the status bit: monitor channel active mac (mac0, mac1) indicates whether a transmission is in progress (register: star). its00869 v/d - module psb arcofi arcofi 2160 2165 2085/86 peb 2110 psb v/d - module c c control (monitor1) data communication (monitor1) r iom -2 r itac r -sp psb r r isac -s monitor channel data received mdr (mdr0, mdr1) monitor channel end of reception mer (mer0, mer1) for the reception of monitor data, and monitor channel data acknowledged mda (mda0, mda1) monitor channel data abort mab (mab0, mab1) for the transmission of monitor data (register: mosr)
semiconductor group 73 functional description figure 37 monitor channel protocol (iom ? -2) itd00870 mon mx transmitter mr 1 1 ff ff 1 1 adr 0 1 0 0 data1 0 1 data1 adr 0 0 data1 0 1 data1 0 0 0 0 data2 0 1 data2 data2 0 1 data2 0 0 ff 1 0 ff 1 0 ff 1 1 ff 1 1 receiver mxe = 1 adr = mox mxc = 1 1 = mac mox = data1 mda int. mda int. data2 = mox mda int. 0 = mxc 0 = mac mdr int. rd mrc mor =1 ( = adr ) data1 ) ( = mor rd mdr int. mdr int. rd mor ( = data2 ) mrc = 0 mer int. 125 s p p
semiconductor group 74 functional description before starting a transmission, the microprocessor should verify that the transmitter is inactive, i.e. that a possible previous transmission has been terminated. this is indicated by a "0" in the monitor channel active mac status bit. after having written the monitor data transmit (mox) register, the microprocessor sets the monitor transmit control bit mxc to "1". this enables the mx bit to go active (0), indicating the presence of valid monitor data (contents of mox) in the corresponding frame. as a result, the receiving device stores the monitor byte in its monitor receive mor register and generates an mdr interrupt status. alerted by the mdr interrupt, the microprocessor reads the monitor receive (mor) register. when it is ready to accept data (e.g. based on the value in mor, which in a point-to- multipoint application might be the address of the destination device), it sets the mr control bit mrc to "1" to enable the receiver to store succeeding monitor channel bytes and acknowledge them according to the monitor channel protocol. in addition, it enables other monitor channel interrupts by setting monitor interrupt enable to "1". as a result, the first monitor byte is acknowledged by the receiving device setting the mr bit to "0". this causes a monitor data acknowledge mda interrupt status at the transmitter. a new monitor data byte can now be written by the microprocessor in mox. the mx bit is still in the active (0) state. the transmitter indicates a new byte in the monitor channel by returning the mx bit active after sending it once in the inactive state. as a result, the receiver stores the monitor byte in mor and generates a new mdr interrupt status. when the microprocessor has read the mor register, the receiver acknowledges the data by returning the mr bit active after sending it once in the inactive state. this in turn causes the transmitter to generate an mda interrupt status. this "mda interrupt C write data C mdr interrupt C read data C mda interrupt" handshake is repeated as long as the transmitter has data to send. note that the monitor channel protocol imposes no maximum reaction times to the microprocessor. when the last byte has been acknowledged by the receiver (mda interrupt status), the microprocessor sets the monitor transmit control bit mxc to "0". this enforces an inactive ("1") state in the mx bit. two frames of mx inactive signifies the end of a message. thus, a monitor channel end of reception mer interrupt status is generated by the receiver when the mx bit is received in the inactive state in two consecutive frames. as a result, the microprocessor sets the mr control bit mrc to 0, which in turn enforces an inactive state in the mr bit. this marks the end of the transmission, making the monitor channel active mac bit return to "0". during a transmission process, it is possible for the receiver to ask a transmission to be aborted by sending an inactive mr bit value in two consecutive frames. this is effected by the microprocessor writing the mr control bit mrc to "0". an aborted transmission is indicated by a monitor channel data abort mab interrupt status at the transmitter. 2.4.5 c/i channel handling the command/indication channel carries real-time status information between the isac-s and another device connected to the iom. 1) one c/i channel (called c/i0) conveys the commands and indications between the layer-1 and the layer-2 parts of the isac-s. this channel is available in all timing modes (te and
semiconductor group 75 functional description non-te). it can be accessed by an external layer-2 device e.g. to control the layer-1 activation/deactivation procedures. c/i0 channel access may be arbitrated via the tic bus access protocol in the iom-2 terminal timing mode (spcr:spm=0). in this case the arbitration is done in c/i channel 2 ( see figure 29 ). the c/i0 channel is accessed via register cir0 (in receive direction, layer-1 to layer-2) and register cix0 (in transmit direction, layer-2 to layer-1). the c/i0 code is four bits long. a listing and explanation of the layer-1 c/i codes can be found in chapter 3.4 . in the receive direction, the code from layer-1 is continuously monitored, with an interrupt being generated anytime a change occurs (ista:cisq). a new code must be found in two consecutive iom frames to be considered valid and to trigger a c/i code change interrupt status (double last look criterion). in the transmit direction, the code written in cix0 is continuously transmitted in c/i0. 2) a second c/i channel (called c/i1) can be used to convey real time status information between the isac-s and various non-layer-1 peripheral devices e.g. psb 2160 arcofi. the channel consists of six bits in each direction. it is available only in the iom-2 te timing mode ( see figure 29 ). the c/i1 channel is accessed via registers cir1 and cix1. a change in the received c/i1 code is indicated by an interrupt status without double last look criterion.
semiconductor group 76 functional description figure 38 applications of tic bus in iom ? -2 bus configuration 2.4.6 tic bus access in iom-2 interface mode the tic bus capability is only available in te mode. the arbitration mechanism implemented in the last octet of iom channel 2 of the iom allows the access of external communication controllers (up to 7) to the layer-1 functions provided in the isac-s and to the d channel. (tic bus; see figure 38 ). to this effect the outputs of the controllers (icc:isdn communication controller peb 2070) are wired-or-and connected to pin idp1. the inputs of the iccs are connected to pin idp0. external pull-up resistors on idp0/1 are required. the arbitration mechanism must be activated by setting mode:dim2C0=001 ( see chapter 4.1.7 ). an access request to the tic bus may either be generated by software ( m p access to the c/i its00854 d-channel telemetry/ packet communication icc (7) (2) icc with d-channel communication voice/data b-channel (1) icc application ivd lan e-channel signaling signaling b-channel voice/data communication with d-channel dcl fsc idp1 idp0 echo e-channel ccitt s-interface p tic-bus r iom -2 r isac -s
semiconductor group 77 functional description channel) or by the isac-s itself (transmission of an hdlc frame). a software access request to the bus is effected by setting the bac bit (cix0 register) to "1". in the case of an access request, the isac-s checks the bus accessed-bit (bit 5 of idp1 last octet of ch2, see figure 39 ) for the status "bus free", which is indicated by a logical "1". if the bus is free, the isac-s transmits its individual tic bus address programmed in the stcr register. the tic bus is occupied by the device which sends its address error-free. if more than one device attempt to seize the bus simultaneously, the one with the lowest address values wins. figure 39 structure of last octet of ch2 on idp1 (du) when the tic bus is seized by the isac-s, the bus is identified to other devices as occupied via the idp1 ch2 bus accessed-bit state "0" until the access request is withdrawn. after a successful bus access, the isac-s is automatically set into a lower priority class, that is, a new bus access cannot be performed until the status "bus free" is indicated in two successive frames. if none of the devices connected to the iom interface request access to the d and c/i channels, the tic bus address 7 will be present. the device with this address will therefore have access, by default, to the d and c/i channels. note: bit bac (cix0 register) should be reset by the m p when access to the c/i channels is no more requested, to grant other devices access to the d and c/i channels. the availability of the s/t interface d channel is indicated in bit 5 "stop/go" (s/g) of the idp0 last octet of ch2 channel ( figure 40 ). s/g = 1 : stop s/g = 0 : go itd02575 d ci1 mon1 ic2 ic1 ci0 mon0 b2 b1 mr mx mx mr tad bac tad bac 10 2 tic-bus address bus accessed (tad 2-0) ('1' no tic-bus access)
semiconductor group 78 functional description figure 40 structure of last octet of ch2 on idp0 (dd) the stop/go bit is available to other layer-2 devices connected to the iom to determine if they can access the s/t bus d channel. itd05422 d ci1 mon1 ic2 ic1 ci0 mon0 b2 b1 mr mx mx mr s/g a/b a/b s/g stop/go available/blocked
semiconductor group 79 functional description 2.5 layer-1 functions for the s/t interface the common functions in all operating modes are: C line transceiver functions for the s/t interface according to the electrical specifications of ccitt i.430; C conversion of the frame structure between iom and s/t interface; C conversion from/to binary to/from pseudo-ternary code; C level detect. mode specific functions are: C receive timing recovery for point-to-point, passive bus and extended passive bus configuration; C s/t timing generation using iom timing synchronous to system, or vice versa; C d-channel access control and priority handling; C d-channel echo bit generation by handling of the global echo bit; C activation/deactivation procedures, triggered by primitives received over the iom c/i channel or by info's received from the line; C execution of test loops. for a block diagram, see figure 10 . the wiring configurations in user premises, in which the isac-s can be used are illustrated in figure 41 .
semiconductor group 80 functional description figure 41 wiring configurations in user premises te tr tr tr tr lt-t point-to-point configurations sbc lt-s nt nt lt-s sbc tr tr short passive bus its00860 te1 te8 1) the maximum line attenuation toleratet by the isac db at 96 khz. 1.5 km 1) 150 m m 10 10 m m 500 te8 te1 passive bus extended tr tr sbc lt-s nt m 35 tr: terminating resistor _ < km _ < 1.5 1) r isac -s r isac -s r -s is 15 isac r -s r iom isac -s r iom r _ < _ < isac -s r isac -s r isac -s r iom r _ < _ < isac -s r isac -s r _ <
semiconductor group 81 functional description 2.5.1 s/t interface according to ccitt recommendation i.430 pseudo-ternary encoding with 100% pulse width is used on the s/t interface. a logical "1" corresponds to a neutral level (no current), whereas logical "0" s are encoded as alternating positive and negative pulses. an example is shown in figure 42 . figure 42 s/t interface line code one frame consists of 48 bits, at a nominal bit rate of 192 kbit/s. thus each frame carries two octets of b1, two octets of b2, and four d-bits, according to the b1+b2+d structure defined for the isdn basic access (total useful data rate: 144 kbit/s). frame begin is marked using a code violation (no mark inversion). the frame structures (from network to subscriber, and subscriber to network) are shown in figure 43 . figure 43 frame structure at reference points s and t (ccitt i.430) note: dots demarcate those parts of the frame that are independently dc-balanced. itd00322 01001100011 v + 0v v - itd02330 dl. 0 1 0 l. f b1 edaf n a b2 edm b1 s d eb2 e d l. f l. 48 bits in 250 s l. f l. d l. b2 l. d l. b1 l. d l. b2 a l. f l. d l. b1 fl. l. d f = framing bit dc balancing bit = l d-channel bit = d d-echo-channel bit = e auxiliary framing bit or q-bit = f a bit set to a binary value n = n b1 = bit within b channel b2 = a = bit used for activation s = subchannel sc1 through sc5 bit position m = multiframing bit bit within b channel t f a = 1 2 2 bits offset nt te nt te 0 1 0
semiconductor group 82 functional description 2.5.2 analog functions for both receive and transmit direction, a 2:1 transformer is used to connect the isac-s transceiver to the 4 wire s/t interface. the connections are shown in figure 44 . figure 44 connection of the line transformers and power supply to the isac ? -s the external transformer of ratio 2:1 is needed in both receive and transmit direction to provide for isolation and transform voltage levels according to ccitt recommendations. the equivalent circuits of the integrated receiver and transmitter are shown in figure 45 . the full-bauded pseudo-ternary pulse shaping is achieved with the integrated transmitter which is realized as a current limited voltage source. a voltage of 2.1 v is delivered between sx1-sx2, which yields a current of 7.5 ma over 280 w . its02339 + 5 v 10 f gnd 2 : 1 2 : 1 pair pair v dd sx1 sx2 sr1 sr2 v ssd v ssa peb 2085 transmit receive its05640 + 5 v 10 f gnd 2 : 1 2 : 1 pair pair v dd sx1 sx2 sr1 sr2 v ssd v ssa peb 2086 transmit receive
semiconductor group 83 functional description figure 45 equivalent internal circuits of receiver and transmitter stages the transmitter of the peb 2086 isac-s is identical to that of both the peb 2080 sbc and peb 2085 isac-s, hence, the line interface circuitry should be the same. the external resistors (20 ... 40 w ) are required in order to adjust the output voltage to the pulse mask (nominal 750 mv according ccitt i.430, to be tested with the command "tm1") on the one hand and in order to meet the output impedance of minimum 20 w (tansmission of a binary one according to ccitt i.430, to be tested with the command "tm2") on the other hand. the s-bus receiver of the peb 2085 is designed as a threshold detector with adaptively switched threshold levels. pin sr1 delivers 2.5 v as an output, which is the virtual ground of the input signal on pin sr2. the s-bus receiver of the peb 2086 has been changed to a symmetrical one. this results in a simplification of the external circuitry and pcb layout to meet the i.430 receiver input impedance specification. its02357 sr1 sr2 uf1 k 1 < 2.5 + _ w v peb 2085 r isac -s its02358 sx1 sx2 2.1 2.1 13.4 i ma v v 2085 peb _ < r isac -s its05630 sr1 k 40 + _ w sr2 w 50 k w 40 k 50 k w 2.5 v 2086 peb r iom -s its02358 sx1 sx2 2.1 2.1 13.4 i ma v v 2085 peb _ < r isac -s
semiconductor group 84 functional description 2.5.3 s/t interface circuitry 2.5.3.1 s/t interface pre-filter (peb 2085 only) in some applications it may be desirable to improve the signal-to-noise ratio of the received s/t interface signal by filtering out undesirable frequency (usually high frequency) components. this may be realized by an external pre-filter. to simplify the implementation of this filter, an operational amplifier is integrated in the peb 2085, as shown in figure 46 . by connecting an rc network between input sr2 and the extra pin ufi an active rc filter of desired order can be realized (one example is shown in figure 46 ). figure 46 prefilter connections and example of 2 nd order rc network following component values are recommended to give a 500 khz cutoff, and 600 ns ( 170 ns) propagation delay time: r 1 = r 2 =10k w c 1 =13pf c 2 =22.5pf delay compensation (peb 2085 and peb 2086) to compensate for the extra delay introduced into the received signal by a filter, the sampling of the receive signal can be delayed by programming bits tem and pfs in the adf1 register as shown in table 5 . note that setting tem to "1" and pfs to "0" has the effect of completely disabling layer-1 functions, for test purposes ( see section 2.7 ). its02359 v ssa ufi sr2 10 sr1 rc network a nf _ + its02360 c 2 r 1 v ssa 2 r 1 c sr2 uf1 a rc network example
semiconductor group 85 functional description table 5 tem/pfs function table this delay compensation might be necessary in order to comply with the "total phase deviation input to output" requirement of ccitt recommendation i.430 which specifies a phase deviation in the range of C 7% to + 15% of a bit period. 2.5.3.2 external protection circuitry the ccitt specification for both transmitter and receiver impedances in tes results in a conflict with respect to external s 0 -protection circuitry requirements: to avoid destruction or malfunctioning of the s 0 -device it is desirable to drain off even small overvoltages reliably. to meet the 96 khz impedance test specified for transmitters and receivers (for tes only, ccitt sections 8.5.1.2a and 8.6.1.1) the protection circuit must be dimensioned such that voltages below 2.4 v are not affected (1.2 v ccitt amplitude x transformer ratio 1:2). this requirement results from the fact that this test is to be performed with no supply voltage being connected to the te. therefore the second reference point for overvoltages v dd , is tied to gnd. then, if the amplitude of the 96 khz test signal is greater than the combined forward voltages of the diodes, a current exceeding the specified one may pass the protection circuit. the following recommendations aim at achieving the highest possible device protection against overvoltages while still fulfilling the 96 khz impedance tests. depending on transformer and circuit layout, it may become necessary to rise the threshold voltage slightly. if the device is not used in te applications, the zener diodes should be replaced by standard diodes. tem pfs effect 0 0 no pre-filter (0 delay) 0 1 pre-filter delay compensation 520 ns 1 1 pre-filter delay compensation 910 ns 1 0 test mode (layer-1 disabled)
semiconductor group 86 functional description protection circuit for transmitter figure 47 external circuitry for transmitters figure 47 illustrates the secondary protection circuit recommended for the transmitter. an ideal protection circuit should limit the voltage at the sx pins from C 0.4 v to v dd +0.4v. via the two resistors (typ. 33 w ) the transmitted pulse amplitude is adjusted to comply with the requirements. two mutually reversed diode paths protect the device against positive or negative overvoltages on both lines. in figure 47 the pin voltage range is increased from C 1.4 v to v dd + 2.5 v. the resulting forward voltage of 2.5 v will prevent the protection circuit to become active if the 96 khz test signal is applied while no supply voltage is present. alternatively to the 1.8 v zener diode in the v dd path two to three standard diodes connected in series achieve the same effect. its05641 dd v 20-40 w w 20-40 sx1 sx2 s0 bus 1.8 v gnd
semiconductor group 87 functional description protection circuit for unsymmetrical receivers (peb 2085) for unsymmetrical s 0 -receivers (peb 2085) a 2.5 v reference voltage is supplied at pin sr1 (output). the input signal at pin sr2 is referred to the level at pin sr1. in order to stabilize the reference voltage, a 10 nf capacitor is used. resistors between pin sr 1 and the transformer should be avoided. sometimes, however, a small resistor is required to improve the longitudinal conversion loss (lcl) performance; absolute maximum is 200 w . at pin sr2 a low-pass filter of 1st or 2nd order may be provided to reject high frequency noise. the overall impedace, however, should not exceed 10 k w to avoid input signal reduction due to voltage division in conjunction with the internal impedance. in case no low-pass filter is required the resistor may be omitted. figure 48 external circuitry for unsymmetrical receivers (peb 2086) the recommended protection circuit of figure 48 is widely identical to that of the transmitter ( figure 47 ). this is necessary because no current limiting resistor of the desired dimension may be introduced in the sr1 path. the rc combination on the line side centre tap of the transformer compensates the lcl drop in the frequency range between 200 khz and 300 khz. this drop is a consequence of the 10 nf capacitor at sr1 (which cannot be omitted). the resistor in this rc combination limits the current through the capacitor when overvoltages are applied. this normally allows using a capacitor rated at 400 v. the resonance frequency of the rc combination must be matched to suite specific compensation requirements. its05642 10 nf sr2 sr1 pf 47 < 10 w k s0 bus v 1.8 v dd 1.5 nf 2.2 k w gnd
semiconductor group 88 functional description protection circuit for symmetrical receivers figure 49 illustrates the external circuitry used in combination with a symmetrical receiver (peb 2086 isac-s) protection of symmetrical receivers is rather comfortable. figure 49 external circuitry for symmetrical receivers between each receive line and the transformer a 10 k w resistor is used. this value is split into two resistors: one between transformer and protection diodes for current limiting during the 96 khz test, and the second one between input pin and protection diodes to limit the maximum input current ot the chip. with symmetrical receivers no difficulties regarding lcl measurements are observed; compensation networks thus are obsolete. in order to comply to the physical requirements of ccitt recommendation i.430 and considering the national requirements concerning overvoltage protection and electromagnetic compability (emc), the isac-s needs additional circuitry. useful hints of how to design such interface circuitry are also contained in the application note "s/t interface circuitry using the peb 2080 sbc or peb 2085 isac-s". 2.5.4 receiver functions its05643 dd v 1.8 w k k w 1.8 47 pf sr2 sr1 pf 47 8.2 w k k w 8.2 s0 bus gnd
semiconductor group 89 functional description 2.5.4.1 receive signal oversampling in order to additionally reduce the bit error rate in severe conditions, the isac-s performs oversampling of the received signal and uses majority decision logic. ( note: this feature is implemented in te and lt-t modes only). as illustrated in figure 50 , each received bit is sampled 29 times at 7.68-mhz clock intervals inside the estimated bit window. the samples obtained are compared against a threshold vtr1 or vtr2 ( see section: adaptive receiver characteristics ). if at least 16 samples have an amplitude exceeding the selected threshold, a logical "0" is considered to be detected, otherwise a logical "1" (no signal) is considered detected. figure 50 s/t receive signal oversampling itd02361 27 30 31 24 21 22 26 29 20 23 11 8 17 14 9 7 12 19 18 13 15 16 14 3 5 6 2 33 35 34 32 40 39 38 37 36 28 25 v sr2 sr1 v v tr1 tr2 v derived 192-khz receive bit period 10 - or 0 v
semiconductor group 90 functional description 2.5.4.2 adaptive receiver characteristics the integrated receiver uses an adaptively switched threshold detector. the detector controls the switching of the receiver between two sensitivity levels. the hysteresis characteristics of the receiver are shown in figure 51 . figure 51 switching of the receiver between high sensitivity and low sensitivity itd00774 + 225 mv mv - 225 v 0 0 logical logical 0 1 logical v sr2 - sr1 v v sr1 - sr2 v logical 1 0 logical logical 0 0v - 375 mv mv + 375 state 1 high sensitivity with tr1 v 225 mv ==mv 375 v tr2 with low sensitivity 2 state 12 max v >1v or v -1 < v max in two consecutive frames max v > -750 mv and mv 750 < v max max v 1v 750 mv v sr1 - sr2 v v tr1 tr2 v = = = max vv sr2 - sr1 v input voltage threshold voltages of the receiver threshold detector maximum value of during one frame _ < _ << _ < _ 750 max _ < _ mv v < _ < < _ v 1
semiconductor group 91 functional description 2.5.4.3 level detection power down (te mode) in power down state, ( see chapter 3.3.1) only an analog level detector is active. all clocks, including the iom interface, are stopped. the data lines are "high", whereas the clocks are "low". an activation initiated from the exchange side (info 2 on s-bus detected) will have the consequence that a clock signal is provided automatically. from the terminal side an activation must be started by setting and resetting the spu-bit in the spcr register ( see chapter 4 ). 2.5.5 timing recovery nt and lt-s in nt and lt-s modes, the 192-khz transmit bit clock is synchronized to the iom clock. in the receive direction two cases have to be distinguished depending on whether a bus or a point- to-point operation is programmed in adf1 (iom-1) or sqxr (iom-2) register ( see figure 52 ): C in a bus configuration (cfs=1), the 192-khz receive bit clock is identical to the transmit bit clock, shifted by 4.6 m s with respect to the transmit edge. according to ccitt i.430, the receive frame shall be shifted by two bits with respect to the transmit frame. C in a point-to-point or extended passive bus configuration (cfs=0), the 192-khz receive bit clock is recovered from the receive data stream on the s interface. the sampling instant for the receive bits is shifted by 3.9 m s with respect to the leading edge of the derived receive clock. according to ccitt i.430, the receive frame can be shifted by 2-8 bits with respect to the transmit frame at the lt-s (nt). however, note that other shifts are also allowed by the isac-s (including 0).
semiconductor group 92 functional description figure 52 clock system of the isac ? -s in nt/lt-s mode te and lt-t in te/lt-t applications, the transmit and receive bit clocks are derived, with the help of the dpll, from the s interface receive data stream. the received signal is sampled several times inside the derived receive clock period, and a majority logic is used to additionally reduce bit error rate in severe conditions ( see chapter 2.5.4 ). the transmit frame is shifted by two bits with respect to the received frame. in te mode the output clocks (dcl, fsc1 etc.) are synchronous to the s interface timing. in lt-t mode the isac-s provides a 512-khz clock, cp, derived from the 192-khz receive line clock with the dpll. if necessary, this reference clock may be used to synchronize the central system ("nt2") clock generator. the system timing is input over iom interface bit and frame clocks, dcl and fsc. the relative position of the s and iom frame is arbitrary. moreover, the isac-s prevents a slip from occuring if the wander between the dcl and cp clocks does not exceed a limit (the isac-s enables intermediate storage of: 3 b 1 , 3 b 2 and four d-bits, for phase difference and wander absorption). the maximum phase deviation between cp output and dcl input may not exceed 1 m s per iom frame (125 m s). in case a wander greater than 24 m s is exceeded, a warning is sent twice by the isac-s in the c/i channel ("slip"). if the analog test loop (tl3, see chapter 3.4 ) is closed, the 192-khz line clock is internally derived from dcl: therefore no slips can occur in this case. its02362 dcl fsc mp pp pll pll mp: pp: receive clock for passive bus configuration receive clock for point-to-point configuration nt/lt-s mode
semiconductor group 93 functional description figure 53 clock system of the isac ? -s in te and lt-t modes its02363 dcl fsc cp pll te mode its02364 dcl fsc cp pll lt-t mode slip detector (pll) "nt2" clock generator reference clock
semiconductor group 94 functional description 2.5.6 activation/deactivation an incorporated finite state machine controls isdn layer-1 activation/deactivation according to ccitt ( see chapter 3.4 ). loss of synchronization / resynchronization (te mode) the following section describes the behaviour of the peb 2085/86 in respect to the cts test procedures for frame alignment. setting of the isac-s the isac-s needs to be programmed for multiframe operation with the q-bits set to "1". star2: mult = 0 sqxr:sqx1-4 = 1111b (xf) 2.5.6.1 fainfa_1fr this test checks if no loss of frame alignment occurs upon a receipt of one bad frame. the pattern for the bad frame is defined as ix_96 khz. this pattern was revised so that a code violation is generated at the begin of the next info 4 frame. device settings result comments peb 2085 v2.3 none pass peb 2086 v1.1 none pass itd05898 info 4 info 3 3 info 4 info info 3 ix_96 khz 3 info info 4 code violation
semiconductor group 95 functional description 2.5.6.2 fainfb_1fr this test uses a frame which has no framing and balancing bit. 2.5.6.3 fainfd_1fr this test uses a frame which remains at binary "1" until the first code violation in bit 16. since it is specified, that a terminal should mirror the received f a -bit in the transmitted f a -bit, a frame is generated by the iut which will not generate a second code violation. the pattern for a correct i3_basic frame states that the f a -bit may have any value. device settings result comments peb 2085 v2.3 none pass peb 2086 v1.1 none pass device settings result comments peb 2085 v2.3 none pass peb 2086 v1.1 none pass itd05899 info 4 info 3 3 info 4 info info 3 i4_basic ix_i4noflag 3 info info 4 code violation itd05900 info 4 info 3 3 info 4 info info 3 with info 3 info 4 a f 1 = a f 1 =
semiconductor group 96 functional description 2.5.6.4 fainfa_kfr this test uses a number of ix_96 khz frames to check the loss of synchronization. 2.5.6.5 fainfb_kfr this test uses a number of ix_i4noflag frames to check the loss of synchronization. device settings result comments peb 2085 v2.3 n = 2 pass peb 2086 v1.1 n = 2 pass device settings result comments peb 2085 v2.3 n = 2 pass peb 2086 v1.1 n = 2 pass itd05901 info 4 info 3 3 info 4 info info 3 ix_96 i3_sfal 0 info khz khz ix_96 khz ix_96 itd05902 info 4 info 3 3 info 4 info info 3 i4_basic ix_i4noflag ix_i4noflag ix_i4noflag i3_sfal 0 info
semiconductor group 97 functional description 2.5.6.6 fainfd_kfr this test uses a number of ix_i4voil16 frames to check the loss of synchronization. the first info 3 frame with the f a -bit set to one looks like an i3_sfal frame but it is a correct info 3 frame since the receiver stays synchronous ( see fainfd_1fr ). 2.5.6.7 faregain this test uses i4_basic frames to regain the frame alignment. the protocol tester evaluates the difference between sending the first info 4 frame until a complete info 3 frame has been received. this period is considered as "m + 1". "m" must be specified before the test is started. the peb 2085 achieves always a constant value of m = 4 for regaining synchronization. the peb 2086 or psb 2186 achieve synchronization after 5 or 6 frames. the actual value depends on internal timing conditions which can not be influenced from extern. this is a result of changes that were made to handle the ixvoil16 test case correctly. the info 4 pattern generates the second code violation at the position of the f a bit. around that bit position, the state machine changes its states. as a result of that overlap, the info 3 frame is transmitted after 5 frames or one frame later. device settings result comments peb 2085 v2.3 n = any value fail the peb 2085 doesnt handle the code violation in bit 16 correctly. peb 2086 v1.1 n = 2 pass itd05903 info 4 info 3 3 info 4 info i3_sfal a f 1 = with 3 info f = a 1 f = a 1 itd05904 info x 4 info 12 info 4 3 info 4 4 info 4 5 info 4 6 info 4 7 info 4 3 info info 3
semiconductor group 98 functional description 2.5.7 d-channel access depending on the application, the d channel is either switched transparently (no collision resolution) from the iom to the s/t interface (lt-s and nt modes) or it is submitted to the d- channel access procedure according to ccitt recommendation i.430 (te mode). for trunk line applications (lt-t mode) both modes of d-channel processing are applicable and may be selected by appropriate register programming of the isac-s. the d-channel access procedure according to ccitt i.430 including priority management is fully implemented in the isac-s: in te and lt-t mode, if collision detection is programmed (mode:dim2-0), a collision is detected if either an echo bit of "0" is recognized and a d bit of "1" was generated, or an echo bit of "1" is recognized and a d bit of "0" was generated. when this occurs, d-channel transmission is immediately stopped, and the echo channel is monitored to enable a subsequent d-channel access to be attempted. when used in lt-s (nt) mode the device generates the echo bits necessary for d-channel collision detection. stop/go bit as the collision resolution is performed by the layer-1 part of the device, an information about the d-channel status ("ready" or "busy") must be sent back to the layer-2 part to control hdlc transmission. for this goal a stop/go (s/g) bit is transmitted over the iom interface to the layer-2 device. depending on the selected iom mode the s/g bit is either transmitted in bit 20 of an iom-1 frame (4-byte frame structure) or in bit 90 of an iom-2 frame (12-byte structure) ( see figures 26 and 40 ). a logical "1" of the s/g bit indicates a collision on the s bus. by sending the s/g bit a logical "0" to the layer-2 controller in anticipation of the s bus d channel "ready"-state, the first valid 0 bits will emerge from the layer-1 part at exactly that moment an access is becoming possible. selection of d-channel access mode for proper operation of the d-channel access procedure, the isac-s must be programmed via the mode ( see chapter 4.1.7 ) register to evaluate the stop/go bit. this is achieved by setting device settings result comments peb 2085 v2.3 m = 4 fail peb 2086 v1.1 m = 5 or 6 pass
semiconductor group 99 functional description mode:dim2-0 to 001 or 011. selection of the priority class the priority class (priority 8 or priority 10) is selected by transferring the appropriate activation command via the command/indicate (c/i) channel of the iom interface to the layer-1 controller. if the activation of the s interface is initiated by a te, the priority class is selected implicitly by the choice of the activation command. if the s interface is activated from the nt, an activation command selecting the desired priority class should be programmed at the te on reception of the activation indication (ai8). in the activated state, the priority class may be changed whenever required simply by programming the respective activation request command (ar8 or ar10). the following table summarizes the c/i codes used for setting the priority classes: table 6 priority commands/indications for te/lt-t mode command (upstream) activate request, set priority 8 remarks activation command: set d-channel priority to 8 abbr. ar8 code 1000 activate request, set priority 10 activation command: set d-channel priority to 10 ar10 1001 indication (downstream) activate indication with priority class 8 remarks info 4 received: d-channel priority is 8 or 9 abbr. ai8 code 1100 activate indication with priority class 10 info 4 received: d-channel priority i s 10 or 11 ai10 1101
semiconductor group 100 functional description 2.5.8 s- and q-channel access access to the received/transmitted s or q channel is provided via registers. as specified by ccitt i.430, the q bit is transmitted from te to nt in the position normally occupied by the auxiliary framing bit (f a ) in one frame out of 5, whereas the s bit is transmitted from nt to te in a spare bit, see figure 43 . the functions provided by the isac-s are: te/lt-t mode: C synchronization to the received 20-frame multiframe by means of the received m bit pattern. synchronism is achieved when the m bit has been correctly received during 20 consecutive frames starting from frame number 1 ( table 7 ). C when synchronism is achieved, the four received s bits in frames 1, 6, 11 and 16 are stored as sqr1 to sqr4 in the sqrr register if the complete m bit multiframe pattern was correctly received in the corresponding multiframe. a change in any of the received four bits (sqr1, 2, 3 or 4) is indicated by an interrupt (cisq in ista and sqc in cir0). C when an m bit is observed to have a value different from that expected, the synchronism is considered lost. the sqr bits are not updated until synchronism is regained. the synchronization state is constantly indicated by the syn bit in the sqrr register. C when synchronism with the received multiframe is achieved, the four bits sqx1 to sqx4 stored in the sqxr register are transmitted as the four q bits (f a bit position) in frames 1, 6, 11 and 16 respectively (starting from frame number one). otherwise the bit transmitted is a mirror of the received f a bit. at loss of synchronism (mismatch in m bit) the mirroring is resumed starting with the next f a bit.
semiconductor group 101 functional description lt-s/nt mode: C generation of the f a and m bit patterns according to table 7. C the four bits received in the f a bit position in frames 1, 6, 11 and 16 (q bits) are stored as sqr1 to sqr4 in the sqrr register. a change in any of the received bits (sqr1 or 2 or 3 or 4) is indicated by interrupt (cisq in ista). C the four bits sqx1 to sqx4 stored in the sqxr register are transmitted as the four s bits in frames 1, 6, 11 and 16, respectively. C the s/t multiframe generation can be disabled in the star2 register (mult bit). table 7 s and q bit position identification and multiframe structure s and q channel structure frame number 1 2 3 4 5 nt-to-te f a bit position one zero zero zero zero nt-to-te m bit one zero zero zero zero nt-to-te s bit s1 zero zero zero zero te-to-nt f a bit position q1 zero zero zero zero 6 7 8 9 10 one zero zero zero zero zero zero zero zero zero s2 zero zero zero zero q2 zero zero zero zero 11 12 13 14 15 one zero zero zero zero zero zero zero zero zero s3 zero zero zero zero q3 zero zero zero zero 16 17 18 19 20 one zero zero zero zero zero zero zero zero zero s4 zero zero zero zero q4 zero zero zero zero 1 2 etc. one zero one zero s1 zero q1 zero
semiconductor group 102 functional description 2.5.9 s-frame and multiframe synchronization (peb 2086 only) the peb 2086 offers the capability to control the start of the s-frame as well as the start of the multiframe from external signals. applications which require synchronization between different s-interfaces are possible. such an application is the connection of dect base stations to pbx line cards. figure 54 multiframe synchronization using the m-bit 2.5.9.1 s-frame start (lt-s, nt mode) the cp-input can be used as s-frame trigger. therefore, a 4 khz signal must be applied. if no signal is applied (cp = 0) the s-frames are triggerd internally. 2.5.9.2 multiframe / superframe synchronization (lt-s, nt-mode) the x2 pin can be used to synchronize the multiframe structure between several s-transceivers. multiframe generation must be enabled. the value of x2 is sampled at the falling edge of cp or at the start of the f-bit of the s-frame whatever occurs earlier. if the input on x2 is "1", the multiframe counter is reset to frame no.1 and as a result, the m-bit is transmitted as "1". its03735 peb 2086 cp x2 x2 peb 2086 s-interface 4 khz m-bit m-bit lt-s,nt te r isac -s -s isac r
semiconductor group 103 functional description if x2 become "0" again, the multiframe counter counts 20 frames and begins again autonomously. if x2 is kept "1", the multiframe counter is permanently reset and the m-bit stays at "1". if x2 becomes "0" for only one s-frame, the multiframe-counter reaches frame no. 2 at which "0" is transmitted in the m-bit location. thus, the m-bit can be use to transfer synchronization pulses of any internal between different s-interfaces. figure 55 s-frame trigger and multiframe generation 2.5.9.3 m-bit output (te mode) in te mode, the peb 2086 outputs the value of the m-bit multiplexed to the value of the echo- bits on the x2 pin. the value of m should be sampled at the falling edge of fsc. its05897 cp sfs su multi-frame reset ssync x2 counter s-frame generator transmitter
semiconductor group 104 functional description 2.6 terminal specific functions watchdog and external awake in addition to the isac-s standard functions supporting the isdn basic access, the isac-s contains optional functions, useful in various terminal configurations. the terminal specific functions are enabled by setting bit tsf (stcr register) to "1". this has two effects: C the sip/eaw line is defined as an external awake input (and not as sld line); C second, the interrupts saw and wov (exir register) are enabled: l saw (subscriber awake) generated by a falling edge on the eaw line l wov (watchdog timer overflow) generated by the watchdog timer. this occurs when the processor fails to write two consecutive bit patterns in adf1: the wtc1 and wtc2 bits have to be successively written in the following manner within 128 ms: as a result the watchdog timer is reset and restarted. otherwise a wov is generated. deactivating the terminal specific functions is only possible with a hardware reset. having enabled the terminal specific functions via tsf=1, the user can make the isac-s generate a reset signal by programming the reset source select rss bit (cixr/cix0 register), as follows: 0 ? a reset signal is generated as a result of C a falling edge on the eaw line (subscriber awake) C a c/i code change (exchange awake) a falling edge on the eaw line also forces the idp1 line of the iom interface to zero. the consequence of this is that the iom interface and the isac-s leaves the power-down state. a corresponding interrupt status (cisq or saw) is also generated. adf1 wtc2 wtc1 watchdog timer control 1, 0. wtc1 wtc2 1 0 1. 2. 0 1
semiconductor group 105 functional description 1 ? a reset signal is generated as a result of the expiration of the watchdog timer (indicated by the wov interrupt status). note that the watchdog timer is not running when the isac-s is in the power-down state (iom not clocked). note: bit rss has a significance only if terminal specific functions are activated (tsf=1). the rss bit should be set to "1" by the user when the isac-s is in power-up to prevent an edge on the eaw line or a change in the c/i code from generating a reset pulse. switching rss from 0 to 1 or from 1 to 0 resets the watchdog timer. the reset pulse generated by the isac-s (output via rst pin) has a pulse width of: C125 m s when generated by the watchdog timer C 16 ms when generated by eaw line or c/i code change.
semiconductor group 106 functional description 2.7 test functions the isac-s provides several test and diagnostic functions which can be grouped as follows: l digital loop via tlp (test loop, spcr register) command bit: idp1 is internally connected with idp0, output from layer 1 (s/t) on idp0 is ignored; this is used for testing isac-s functionality excluding layer 1; l test of layer-2 functions while disabling all layer-1 functions and pins associated with them (including clocking, in te mode), via bit tem (test mode in adf1 register); the isac-s is then fully compatible to the icc (peb 2070) seen at the iom interface. note that in iom-1 mode also the internal pull-up resistors at idp0/1 are disconnected. l loop at the analog end of the s interface; te/lt-t: test loop 3 is activated with the c/i channel command activate request loop (arl). an s interface is not required since info3 is looped back to the receiver. when the receiver has synchronized itself to this signal, the message "test indication" (or "awake test indication") is delivered in the c/i channel. no signal is transmitted over the s interface. in the test loop mode the s interface awake detector is enabled i.e. if a level is detected (e.g. info 2/info 4) this will be reported by the awake test indication (ati). the loop function is not effected by this condition and the internally generated 192-khz line clock does not depend on the signal received at the s interface. nt/lt-s: test loop 2 is likewise activated over the iom interface with activate request loop (arl). no s line is required. info4 is looped back to the receiver and also sent to the s interface. when the receiver is synchronized, the message "aiu" is sent in the c/i channel. in the test loop mode the s interface awake detector is disabled, and echo bits are set to logical "0". l special loops are programmed via c2c1-0 and c1c1-0 bits (register spcr) l transmission of special test signals on the s/t interface according to the modified ami code are initiated via a c/i command written in cixr/cix0 register ( cf. chapter 3.4 ). two kinds of test signals may be sent by the isac-s: single pulses and continuous pulses. the single pulses are of alternating polarity, one s interface bit period wide, 0.25 ms apart, with a repetition frequency of 2 khz. single pulses can be sent in all applications. the corresponding c/i command in te, lt-s and lt-t applications is ssz (send single zeros). alternatively, this test mode can be effected by pulling pin ssz (pin x2, nt mode only) to logical "0". continuous pulses are likewise of alternating polarity, one s-interface bit period wide, but they are sent continuously. the repetition frequency is 96 khz. continuous pulses may be transmitted in all applications. this test mode is entered in lt-s, lt-t and te applications with the c/i command scz. alternatively, pin scz (pin cp, nt mode only) can be pulled to logical "0".
semiconductor group 107 functional description 2.8 layer-2 functions for the isdn basic access lapd, layer 2 of the d-channel protocol (ccitt i.441) includes functions for: C provision of one or more data link connections on a d channel (multiple lap). discrimination between the data link connections is performed by means of a data link connection identifier (dlci = sapi + tei) C hdlc-framing C application of a balanced class of procedure in point-multipoint configuration. the simplified block diagram in figure 56 shows the functional blocks of the isac-s which support the lapd protocol. figure 56 d-channel processing of the isac ? -s its00861 status command registers controller lapd hdlc transmitter receiver hdlc r-fifo x-fifo fifo controller 2 x 32 byte p-interface c-system layer-1 functions s(d-channel) layer 1 2 layer layers upper r iom 2 x 32 byte
semiconductor group 108 functional description for the support of lapd the isac-s contains an hdlc transceiver which is responsible for flag generation/recognition, bit stuffing mechanism, crc check and address recognition. a powerful fifo structure with two 64-byte pools for transmit and receive directions and an intelligent fifo controller permit flexible transfer of protocol data units to and from the m c system. 2.8.1 message transfer modes the hdlc controller can be programmed to operate in various modes, which are different in the treatment of the hdlc frame in the receive direction. thus, the receive data flow and the address recognition features can be programmed in a flexible way, which satisfies different system requirements. in the auto mode the isac-s handles elements of procedure of the lapd (s and i frames) according to ccitt i.441 fully autonomously. for the address recognition the isac-s contains four programmable registers for individual sapi and tei values sap1-2 and tei1-2, plus two fixed values for "group" sapi and tei, sapg and teig. there are 5 different operating modes which can be set via the mode register (addr. 22 h ): auto mode (mds2, mds1 = 00) characteristics: C full address recognition (1 or 2 bytes). C normal (mod 8) or extended (mod 128) control field format C automatic processing of numbered frames of an hdlc procedure if a 2-byte address field is selected, the high address byte is compared with the fixed value fe h or fc h (group address) as well as with two individually programmable values in sap1 and sap2 registers. according to the isdn lapd protocol, bit 1 of the high byte address will be interpreted as command/response bit (c/r) dependent on the setting of the cri bit in sap1, and will be excluded from the address comparison. similarly, the low address byte is compared with the fixed value ff h (group tei) and two compare values programmed in special registers (tei1, tei2). a valid address will be recognized in case the high and low byte of the address field match one of the compare values. the isac-s can be called (addressed) with the following address combinations: C sap1/tei1 C sap1/ff h C sap2/tei2 C sap2/ff h Cfe h (fc h )/tei1 Cfe h (fc h )/tei2 Cfe h (fc h )/ff h
semiconductor group 109 functional description only the logical connection identified through the address combination sap1, tei1 will be processed in the auto mode, all others are handled as in the non-auto mode. the logical connection handled in the auto mode must have a window size 1 between transmitted and acknowledged frames. hdlc frames with address fields that do not match with any of the address combinations, are ignored by the isac-s. in case of a 1-byte address, tei1 and tei2 will be used as compare registers. according to the x.25 lapb protocol, the value in tei1 will be interpreted as command and the value in tei2 as response. the control field is stored in the rhcr register and the i field in the rfifo. additional information is available in the rsta. non-auto mode (mds2, mds1 = 01) characteristics: full address recognition (1 or 2 bytes) arbitrary window sizes all frames with valid addresses (address recognition identical to auto mode) are accepted and the bytes following the address are transferred to the m p via rhcr and rfifo. additional information is available in the rsta. transparent mode 1 (mds2, mds1, mds0 = 101) characteristics: tei recognition a comparison is performed only on the second byte after the opening flag, with tei1, tei2 and group tei (ff h ). in the case of a match, the first address byte is stored in sapr, the (first byte of the) control field in rhcr, and the rest of the frame in the rfifo. additional information is available in the rsta. transparent mode 2 (mds2, mds1, mds0 = 110) characteristics: no address recognition every received frame is stored in the rfifo (first byte after opening flag to crc field). additional information can be read from the rsta. transparent mode 3 (mds2, mds1, mds0 = 111) characteristics: sapi recognition a comparison is performed on the first byte after the opening flag with sap1, sap2 and group sapi (fe/fc h ). in the case of a match, all the following bytes are stored in rfifo. additional information can be read from the rsta. 2.8.2 protocol operations (auto mode) in addition to address recognition all s and i frames are processed in hardware in the auto mode. the following functions are performed: C update of transmit and receive counter C evaluation of transmit and receive counter
semiconductor group 110 functional description C processing of s commands C flow control with rr/rnr C response generation C recognition of protocol errors C transmission of s commands, if an acknowledgement is not received C continuous status query of remote station after rnr has been received C programmable timer/repeater functions. the processing of frames in auto mode is described in detail in chapter 2.8.5 : documentation of the auto mode. 2.8.3 reception of frames a 2 32 byte fifo buffer (receive pools) is provided in the receive direction. the control of the data transfer between the cpu and the isac-s is handled via interrupts. there are two different interrupt indications concerned with the reception of data: C rpf (receive pool full) interrupt, indicating that a 32-byte block of data can be read from the rfifo and the received message is not yet complete. C rme (receive message end) interrupt, indicating that the reception of one message is completed, i.e. either l one message 32 bytes, or l the last part of a message > 32 bytes is stored in the rfifo. depending on the message transfer mode the address and control fields of received frames are processed and stored in the receive fifo or in special registers as depicted in figure 58 . the organization of the rfifo is such that up to two short ( 32 bytes), successive messages, with all additional information can be stored. the contents of the rfifo would be, for example, as shown in figure 57.
semiconductor group 111 functional description figure 57 contents of rfifo (short message) its01502 31 31 0 0 receive message 2 bytes) 32 1 message receive rme rme interrupts in wait line rfifo ( _ < bytes) _ < (32
semiconductor group 112 functional description figure 58 receive data flow note 1 only if a 2-byte address field is defined (mds0 = 1 in mode register). note 2 comparison with group tei (ff h ) is only made if a 2-byte address field is defined (mds0 = 1 in mode register). note 3 in the case of an extended, modulo 128 control field format (mcs = 1 in sap2 register) the control field is stored in the rhcr in compressed form (i frames). note 4 in the case of extended control field, only the first byte is stored in the rhcr, the second in the rfifo. itd02342 description of symbols: checked automatically by compared with register or fixed value stored info register or rfifo flag high address address low control information crc flag rsta rhcr ff tei1, tei2 sap1, sap2 fe, fc (note 1) 2) (note (note 3) rfifo rfifo fe, fc sap1, sap2 tei1, tei2 ff rhcr rsta 4) (note (note 2) 1) (note rsta rhcr ff tei1, tei2 rfifo rsta sapr rsta rfifo rfifo sap1, sap2 fe, fc auto mode (u and frames) i non-auto mode mode transparent 1 2 transparent mode 3 transparent mode - - - (note 4) r isac -s
semiconductor group 113 functional description when 32 bytes of a message longer than that are stored in the rfifo, the cpu is prompted to read out the data by an rpf interrupt. the cpu must handle this interrupt before more than 32 additional bytes are received, which would cause a "data overflow" ( figure 59 ).this corresponds to a maximum cpu reaction time of 16 ms (data rate 16 kbit/s). after a remaining block of less than or equal to 16 bytes has been stored, it is possible to store the first 16 bytes of a new message ( see figure 59 ). the internal memory is now full. the arrival of additional bytes will result in "data overflow" (rsta:rdo) and a third new message in "frame overflow" (exir:rfo). the generated interrupts are inserted together with all additional information into a queue to be individually passed to the cpu. after an rpf or rme interrupt has been processed, i.e. the received data has been read from the rfifo, this must be explicitly acknowledged by the cpu issuing an rmc (receive message complete) command. the isac-s can then release the associated fifo pool for new data. if there is an additional interrupt in the queue it will be generated after the rmc acknowledgement. figure 59 contents of the rfifo (long messages) its01501 31 31 0 0 message 2 1 message long rpf rme interrupts in the queue rfifo rfifo the queue interrupts in rpf rpf long message 0 0 31 31 15 16 rme bytes) 46 < ( _ bytes) 32 < ( _
semiconductor group 114 functional description information about the received frame is available for the m p when a rme interrupt is generated, as shown in table 8. table 8 receive information at rme interrupt 2.8.4 transmission of frames a 2 32 byte fifo buffer (transmit pools) is provided in the transmit direction. if the transmit pool is ready (which is true after an xpr interrupt or if the xfw bit in star is information recognition of tei mode all except transparent modes 2, 3 rsta (27) ta first byte after flag (sapi of lapd address field) transparent mode 1 sapr (26) C control field auto mode, i (modulo 8) and u frame s rhcr (29) C compressed control field auto mode, i frames (modulo 128) rhcr (29) C type of frame (command/response) auto mode, 2 byte address field non-auto mode, 2-byte address field transparent mode 3 rsta (27) c/r 2 nd byte after flag non-auto mode, 1-byte address field rhcr (29) C 3 rd byte after flag non-auto mode, 2-byte address field transparent mode 1 rhcr (29) C recognition of sapi auto mode, 2 byte address field non-auto mode, 2-byte address field transparent mode 3 rsta (27) sa1-0 result of crc check (correct/incorrect) all rsta (27) crc data available in rfifo (yes/no) all rsta (27) rda abort condition detected (yes/no) all rsta (27) rab number of bytes received in rfifo all rbcl (25) rbc4-0 message length all rbcl rbch (25) (2a) rbc11-0 ov data overflow during reception of a frame (yes/no) all rsta (27) rdo register (adr. hex) bit
semiconductor group 115 functional description set), the cpu can write a data block of up to 32 bytes to the transmit fifo. after this, data transmission can be initiated by command. two different frames types can be transmitted: C transparent frame (command: xtf), or C i frames (command: xif) as shown in figure 60 . for transparent frames, the whole frame including address and control field must be written to the xfifo. figure 60 transmitter data flow the transmission of i frames is possible only if the isac-s is operating in the auto-mode. the address and control field is autonomously generated by the isac-s and appended to the frame, only the data in the information field must be written to the xfifo. if a 2 byte address field has been selected, the isac-s takes the contents of the xad 1 register to build the high byte of the address field, and the contents of the xad 2 register to build the low byte of the address field. additionally the c/r bit (bit 1 of the high byte address, as defined by lapd protocol) is set to "1" or "0" dependent on whether the frame is a command or a response. itd02341 flag address control information crc flag flag crc xfifo control xad1 flag hdlc frame flag xad1 control xfifo crc flag flag crc xfifo flag xad2 (xif) transmit i-frame auto mode, 8-bit addr. 16-bit addr. auto mode, transmit i-frame (xif) all modes transmit transparent frame (xtf) note: length of control field is b or 16 description of symbols: bit generated automatically by written initially by cpu loaded (repeatedly) (info register) by cpu upon (xpr interrupt) request - r isac -s r isac -s
semiconductor group 116 functional description in the case of a 1 byte address, the isac-s takes either the xad 1 or xad 2 register to differentiate between command or response frame (as defined by x.25 lap b). the control field is also generated by the isac-s including the receive and send sequence number and the poll/final (p/f) bit. for this purpose, the isac-s internally manages send and receive sequence number counters. in the auto mode, s frames are sent autonomously by the isac-s. the transmission of u frames, however, must be done by the cpu. u frames must be sent as transparent frames (cmdr:xtf), i.e. address and control field must be defined by the cpu. once the data transmission has been initiated by command (cmdr:xtf or xif), the data transfer between cpu and the isac-s is controlled by interrupts. the isac-s repeatedly requests another data packet or block by means of an ista:xpr interrupt, every time no more than 32 bytes are stored in the xfifo. the processor can then write further data to the xfifo and enable the continuation of frame transmission by issuing an xif/xtf command. if the data block which has been written last to the xfifo completes the current frame, this must be indicated additionally by setting the xme (transmit message end) command bit. the isac-s then terminates the frame properly by appending the crc and closing flag. if the cpu fails to respond to an xpr interrupt within the given reaction time, a data underrun condition occurs (xfifo holds no further valid data). in this case, the isac-s automatically aborts the current frame by sending seven consecutive "ones" (abort sequence). the cpu is informed about this via an xdu (transmit data underrun) interrupt. it is also possible to abort a message by software by issuing a cmdr:xres (transmitter reset) command, which causes an xpr interrupt. after an end of message indication from the cpu (cmdr:xme command), the termination of the transmission operation is indicated differently, depending on the selected message transfer mode and the transmitted frame type. if the isac-s is operating in the auto mode , the window size (= number of outstanding unacknowledged frames) is limited to "1"; therefore an acknowledgement is expected for every i frame sent with an xif command. the acknowledgement may be provided either by a received s or i frame with corresponding receive sequence number. if no acknowledgement is received within a certain time (programmable), the isac-s requests an acknowledgement by sending an s frame with the poll bit set (p = 1) (rr or rnr). if no response is received again, this process is repeated in total n2 times (retry count, programmable via timr register).
semiconductor group 117 functional description the termination of the transmission operation may be indicated either with: C xpr interrupt, if a positive acknowledgement has been received, C xmr interrupt, if a negative acknowledgement has been received, i.e. the transmitted message must be repeated (xmr = transmit message repeat), C tin interrupt, if no acknowledgement has been received at all after n2 times the expiration of the time period t 1 (tin = timer interrupt, xpr interrupt is issued additionally). note: prerequisite for sending i frames in the auto mode (xif) is that the internal operational mode of the timer has been selected in the mode register (tmd bit = 1). the transparent transmission of frames (xtf command) is possible in all message transfer modes. the successful termination of a transparent transmission is indicated by an xpr interrupt. in all cases, collisions which occur on the s-bus (d channel) before the first xfifo pool has been completely transmitted and released are treated without m p interaction. the isac-s will retransmit the frame automatically. if a collision is detected after the first pool has been released, the isac-s aborts the frame and requests the processor to repeat the frame with an xmr interrupt. 2.8.5 documentation of the auto mode the auto mode of the icc and isac-s is only applicable for the states 7 and 8 of the lapd protocol. all other states (1 to 6) have to be performed in non-auto mode (nam). therefore this documentation gives an overview of how the device reacts in the states 7 and 8, which reactions require software programming and which are done by the hardware itself, when interrupts and status register contents are set or change. the necessary software actions are also detailed in terms of command or mode register access. the description is based on the sdl-diagrams of the etsi ts 46-20 dated 1989. the diagrams are only annotated by documentary signs or texts (mostly register descriptions) and can therefore easily be interpreted by anyone familiar with the sdl description of lapd. all deviations that occur are specially marked and the impossible actions, paths etc. are crossed out. to get acquainted with this documentation, first read through the legend-description and the additional general considerations, then start with the diagrams, referring to the legend and the register description in the technical manual if necessary. we hope you will profit from this documentation and use our software-saving auto mode.
semiconductor group 118 functional description 2.8.5.1 legend of the auto-mode-documentation a. symbols within a path there are 3 symbols within a path a.1. a.2. a.3. in the auto mode the device processes all subsequent state transition s branchings etc. up to the next symbol. in the auto mode the device does not process the state transitions, branchings etc. within the path appropriate directions are given wit h which the software can accomplish the required action. a pat h cannot b e i mp l emente d an d no so f tware or h ar d ware act i o n can change this. these paths are either optional or only applicable fo r window-size > 1.
semiconductor group 119 functional description b. symbols at a path there is 1 symbol at a path b.1. c. symbols at an internal or external message box. there are 2 symbols at a message box. c.1. note: the impossibility to perform the optional t203 timer-procedure is not explicitly men- tioned; the corresponding actions are only crossed out. c.2. d. text within boxes text within boxes can be grouped in one of two classes. d.1. d.2. the text describes a register access the text is placed in the box that describes the functions for which the register access is needed. marks the beginning of a path, for which a.3 applies. this symbol means, that the action described in the box is not possible. either the action specified is not done at all or an additional action is taken (written into the box). box this symbol means, that within a software-path, by taking the prescribed register actions the contents of the box will be done automatically. box the text denotes an interrupt which is always associated with the event. (but can also be associated with other events). (see ista and exir register description in the technical manual for an interrupt description). text text box box or either a register read access to discriminate this state from others or to reach a branching condition or a register write access to give a command. text box
semiconductor group 120 functional description e. text attached at the side of boxes e.1. e.2. (the attached texts can also be placed on the left side.) f. text above and below boxes f.1. f.2 . g. shade boxes the text describes an interrupt associated with the contents of the box. the interrupt is always associated with the box contents, if the interrupt name is not followed by a "/", it is associated only under appropriate conditions if a "/" is behind it. text box the text describes a possible or mandatory change of a bit in a status- register associated with the contents of the box. text box text describes a mandatory action to be performed on the contents o f the box. text box text describes a mandatory action to be taken as a result of th e contents of the box. action here means register access. text box the box describes an impossible state or action for the device. box
semiconductor group 121 functional description 2.8.5.2 additional general considerations when using the auto mode a) switching from auto mode to non-auto mode. as mentioned in the introduction the auto mode is only applicable in the states 7 and 8 of the lapd. therefore whenever these states have to be left (which is indicated by a "mode:nam" text) there are several actions to be taken that could not all be detailed in the sdl-diagrams: a.1) write non-auto mode and tmd = 0 into the mode register. a.2) write the timer register with an arbitrary value to stop it. the timer t200 as specified in the lapd-protocol is implemented in the hardware only in the states 7 and 8; in all other states this or any other timer-procedure has to be done by the software with the possible use of the timer in external timer mode. a.3) read the wfa bit of the star2 register and store it in a software variable. the information in this bit may be necessary for later decisions. when switching from auto mode to non-auto mode xpr interrupts may be lost. a.4) in the non-auto mode the software has to decode i, u and s-frames because i and s frames are only handled autonomously in the auto mode. a.5) the rsc and pce interrupts, the contents of the star2 register and the rrnr bit in the star register are only meaningful within the auto mode. a.6) leave some time before rhr or xres is written to reset the counters, as a currently sent frame may not be finished yet. b) what has to be written to the xfifo? in the legend description when the software has to write contents of a frame to the xfifo only "xfifo" is shown in the corresponding box. we shall give here a general rule of what has to be written to the xfifo: a) for sending an i-frame with cmdr:xif, only the information field content, i.e. no sapi, tei, control field should be written to the xfifo. b) for sending an u-frame or any other frame with cmdr:xtf, the sapi, tei and the control field has to be written to the xfifo. c) the interrupts xpr and xmr. the occurence of an xpr interrupt in auto mode after an xif command indicates that the i-frame sent was acknowledged and the next i frame can be sent, if star2:trec indicates state 7 and star:rrnr indicates peer rec not busy. if peer rec is busy after an xpr, the software should wait for the next rsc interrupt before sending the next i- frame. if the xpr happens to be in the timer recovery state, the software has to poll the star2 register until the state multiple frame established is reached or a tin interrupt is issued which requires auto mode to be left (one of these two conditions will occur before the time t200*n200). in non-auto mode or after an xtf command the xpr just indicates, that the frame was sent successfully.
semiconductor group 122 functional description the occurence of an xmr interrupt in auto mode after an xif command indicates that the i-frame sent was either rejected by the peer entity or that a collision occured on the s-interface. in both cases the i-frame has to be retransmitted (after an eventual waiting for the rsc interrupt if the peer rec was busy; after an xmr the device will always be in the state 7). in non-auto mode or after an xtf command the xmr indicates that a collision occured on the s-interface and the frame has to be retransmitted. d) the resetting of the rc variable: the rc variable is reset in the icc and isac-s when leaving the state timer recovery. the sdl diagrams indicate a reset in the state multiple frame established when t200 expires. there is no difference to the outside world between these implementations however our implementation is clearer. e) the timer t203 procedure: we do not fully support the optional timer t203 procedure, but we can still find out whether or not s-frames are sent on the link in the auto mode. by polling the star2:sdet bit and (re)starting a software timer whenever a one is read we can build a quasi t203 procedure which handles approximately the same task. when t203 expires one is supposed to go into the timer recovery state with rc = 0. this is possible for the icc and isac-s by just writing the sti bit in the cmdr register (auto mode and internal timer mode assumed). f) the congestion procedure as defined in the 1 tr 6 of the "deutsche bundespost": in the 1 tr 6 a variable n2 4 is defined for the maximum number of peer busy requests. the 1 tr 6 is in this respect not compatible with the q921 of ccitt or the etsi 46-20 but it is, nevertheless, sensible to avoid getting into a hangup situation. with the icc and isac-s this procedure can be implemented: after receiving an rsc interrupt with rrnr set one starts a software-timer. the timer is reset and stopped if one either receives another rsc interrupt with a reset rrnr, if one receives a tin interrupt or if other conditions occur that result in a reestablishment of the link. the timer expires after n2 4*t200 and in this case the 1 tr 6 recommends a reestablishment of the link. 2.8.5.3 dealing with error conditions in the recommendation q.921 of ccitt (blue book) several error conditions are described. we shall deal with them as far as they touch the auto mode of the isac-s (which only applies for states 7,8 of q.921). throughout the following document in subsections 1 we shall give the original q.921-text. for better discrimination against comments the original text is printed in italic characters. please note that q.921/table 5 has been corrected according to corrigendum no. 1 10/1989. subsections 2 document how the isac-s react in all cases, and subsections 3 will give hints how your software should respond to these reactions. invalid frames and frame abortion during data transmission invalid frames and frame abortion generally lead to error conditions.
semiconductor group 123 functional description q921: invalid frames and frame abortion paragraphs 2.9 and 2.10 of the q.921 deal with invalid frames and frame abortion. in the following the original text is given. q.921 2.9: invalid frames an invalid frame is a frame which: a) is not properly bounded by two flags, or b) has fewer than 6 octets between flags or frames that contain sequence numbers, or c) does not consist of an integral number of octets prior to zero bit insertion or following zero bit extraction, or d) contains a frame check sequence error, or e) contains a single octet address field, or f) contains a service access point identifier ( see 3.3.3 ) which is not supported by the receiver. invalid frames shall be discarded without notification to the sender. no action is taken as the result of that frame. q.921 2.10: frame abort receipt of seven or more contiguous 1 bits shall be interpreted as an abort and the data link layer shall ignore the frame currently being received. reaction of the isac-s a) a frame which does not start with a flag is discarded in the isac-s. a frame which does not end with a flag is one, that is aborted, i.e. if 2.9b does not apply then the isac-s C discards the frame, if it was an s-frame or, if it was an i or u-frame C generates an ista: rme (or rpfs and a rme) and C puts rsta: rab = 1 after the rme-interrupt rab = 1. a frame is supposed to be unbounded according to 5.8.5 if the byte counter rbch, rbcl after rpf or rme exceeds 528. b) the frame is discarded by the isac-s if with u-frames or undefined frames it contains less or equal to 4 octets or with i-frames it contains less or equal to 5 octets with s-frames it contains less than 6 octets. for u-frames with a content between 4 and 5 octets exclusively or for i-frames between 5 and 6 octets exclusively an ista: rme interrupt is generated and afterwards the rsta: crc is set to 0. c) an s-frame is discarded. in the own-receiver-busy state i-frames are discarded. for an i-frame in the normal state and u frames, after several possible rpf interrupts and the final rme interrupt, the bit rsta: crc is set to 0 in this case. d) in case of an -s frame, the frame is discarded -u and i-frames rsta: crc is set to "0" in this case.
semiconductor group 124 functional description e) the frame is discarded f) the frame is discarded the reaction to 2.10 has been already discussed under a) necessary software actions the software should read the register rsta after a rme-interrupt. after having read rab = 1 or crc = 0, all frame contents read from the fifo should be discarded and a cmdr: rmc should be written. after each rpf or rbch, rbcl should be read and if it exceeds 528, cmdr: rres should be written. in this way all invalid frames are discarded by the software. data overflow in case of a data overflow, which is only possible while receiving an i-frame or an u-frame with a non-empty information field, the isac-s interrupt with ista: rme and sets rsta: rdo to 1. a rsta: rdo and an ista: rfo are a hint that the dynamic reaction time of your software to the rpf, rme interrupt is too slow, so you should change your software. during the development phase you may set cmdr: rnr after an rdo, rfo-condition to protect against further errors, but the final solution can only be to exclude rdo, rfo conditions by an improved software design. frame rejection condition q.921 5.8.5: frame rejection condition a frame rejection condition results from one of the following conditions: a) the receipt of an undefined frame ( see 3.6.1 , third paragraph) b) the receipt of a supervisory or unnumbered frame with incorrect length c) the receipt of an invalid n(r), or d) the receipt of a frame with an information field which exceeds the maximum established length. upon occurrence of a frame rejection condition whilst in the multiple frame operation, the data link layer entity shall: C issue a mdl-error-indication primitive, and C initiate re-establishment ( see 5.7.2 ). upon occurrence of a frame rejection condition during establishment of or release from multiple frame operation, or whilst a data link is not established, the data link layer entity shall: C issue a mdl-error-indication primitive, and C discard the frame. note: for satisfactory operation it is essential that a receiver is able to discriminate between invalid frames, as defined in 2.9, and frames with an information field which exceeds the maximum established length ( see 3.6.11 item d ). an unbounded frame may be assumed, and thus discarded, if two times the longest permissible frame plus two octets are received without a flag detection .
semiconductor group 125 functional description for a better understanding we insert the text of 3.6.1, which is referred to in 5.8.5 and which reads: 3.6.1 commands and responses the following commands and responses are used by either the user or the network data link layer entities and are represented in q.921/table 5 . each data link connection shall support the full set of commands and responses for each application implemented. the frame types associated with each of the two applications are identified in q.921/table 5 . frame types associated with an application not implemented shall be discarded and no action shall be taken as a result of that frame. for purposes of the lapd procedures in each application, those frame types not identified in q.921/table 5 are identified as undefined command and/or response control field. the actions to be taken are specified in 5.8.5. we include the original table 5 which is mentioned in 3.6.1:
semiconductor group 126 functional description table 9 q.921 (table 5) *note: use of the xid frame other than for parameter negotiation procedures ( see 5.4 ) is for further study. the commands and responses in q.921/table 5 are defined in 3.6.2 to 3.6.12 application format commands responses encoding octet 8765432 1 unacknowledged and multiple- frame acknowledged information transfer information transfer i(nformation) n(s) 0 4 n(r) p 5 supervisory rr (receive ready) rr (receive ready) 0000000 1 4 n(r) p/f 5 rnr (receive not ready) rnr (receive not ready) 0000010 1 4 n(r) p/f 5 rej (reject) rej (reject) 0000100 1 4 n(r) p/f 5 unnumbered sabme (set async. balanced mode extd). 011p111 1 4 dm (disconnected mode) 000f111 1 4 ui (unnumbered information) 000p001 1 4 disc (disconnect) 010p001 1 4 ua (unnumbered acknowledgement) 011f001 1 4 frmr (frame reject) 100f011 1 4 connection management xid* (exch. ident) xid* (exch. ident) 101 p/ f 111 1 4
semiconductor group 127 functional description reaction of the isac-s in the following various possible actions to be taken according to 5.8.5 parts a) through c) are discussed separately. a) there are different types of undefined frames: 1) i-frame which is not command an ista: pce-interrupt is generated 2) s-frame with bits 8-5 in octet 4 = 0 an ista: pce-interrupt is generated 3) a-frame with bits 4-1 in octet 4 equal to "1101" (selective reject) an ista: pce is generated 4) frame with bits 2-1 in octet 4 equal to "11" but control field not contained in ista: rme interrupt; the control field can be read afterwards in rhcr (after having checked for invalid frame condition). 5) sabme, ui, disc, not a command, dm, ua, frmr not a response ista: rme interrupt; the control field can be read afterwards in rhcr, the c/r-bit in the sapr-register (after having checked for invalid frame condition). b) if the length of the frame is too small 1.1.1b) applies and the frame is invalid. therefore incorrect length can only mean: 1) s-frame with more than 6 octets an ista:pce-interrupt is generated; the contents of the additional octets is discarded. 2) undefined frames with 5 octets, bits 2-1 in octet 4 not being equal to "11" (e.g. modulo 8 s-frame) an ista:pce-interrupt is generated 3) sabme, bm, disc, ua-frame with more than 5 octets after ista: rme and identifying the frame by rhcr the rsta:rda bit is 1 if the frames had more than 5 octets and 0 if they had exactly 5 octets. 4) a frmr with not exactly 10 octets after a rme and identifying frmr by reading rhcr-register, the software has to read rbch, rbcl. if ov = 1 or rbc11-rbc0 = 0 101 then the frmr did not have exactly 10 octets. c) an invalid n(r) is one that does not meet the condition v(a) < n(r) < v(s) this condition is automatically checked within the device and in the case of an invalid n(r) an ista:pce-interrupt is generated. an s-field response is done by the isac-s in all prescribed cases of invalid n(r) automatically.
semiconductor group 128 functional description the processor should read rbch, rbcl after each rpf, rme interrupt. if after an rpf or rme the byte count exceeds 528 then cmdr:rres should be written (abort of frame). the frame was invalid in this case but it was not a frame rejection condition. if after a rme the byte count was between 260 and 528 inclusively and no other invalidity condition according to section 1 applies or a data overflow according to section 2 occurred then a frame rejection condition is detected. necessary software reactions the software can find out all frame rejection conditions either by receiving pce or by checking rsta, sapr, rhcr, rbch, rbcl after a rme interrupt, and rbch, rbcl after an rpf interrupt. in case of u-frames it has to be checked before, whether or not it is an invalid frame and has only to be discarded or, whether it was valid but leads to a frame rejection condition. (only valid frames can lead to frame rejection conditions according to 5.8.4 of q.921). in case of a frame rejection condition the software has to take the actions defined in 5.7.2 and issue a mdl-error-indication. the particular action in 5.7.2 reads: 5.7.2 procedures in all re-establishment situations, the data link layer entity shall follow the procedures defined in 5.5.1. all locally generated conditions for re-establishment will cause the transmission of the sabme. in case of data link layer and peer initiated re-establishments, the data link layer entity shall also C issue a mdl-error-indication primitive to the connection management entity: and C rf v(s) > v(a) prior to re-establishment issue a dl-establish-indication primitive to layer 3 and discard all l queues. in case of layer-3 initiated re-establishment, or if a dl-establish-request primitive occurs pending re-establishment, the dl-establish-confirm primitive shall be used. a frame rejection condition is not a peer initiated re-establishment. 5.5.1 is pretty voluminous. here just the necessary actions to be done with the isac-s shall be given, in case the re-establishment is successful at once: C the software should set the isac-s into non-auto mode by writing the mode register mode: 6x h . further actions that result from switching to non-auto mode should also be taken according. C it should write fifo : 76 h , 6f h , cmdr : xtf to send a sabme-command with p = 1. C upon having received a correct ua-frame it should C write cmdr : xres, rres to set v(s) = v(a) = v(r) = 0 C write mode: 3x h to re-enter auto mode for the multiple-frame established state. if the re-establishment is not successful at once, in the non-auto-mode further software actions according to 5.5.1 have to be taken.
semiconductor group 129 functional description further criteria leading to a re-establishment q.921 5.7.1: criteria for re-establishment 5.7.1 criteria for re-establishment the criteria for re-establishing the multiple frame mode of operation are defined in this section by the following conditions: a) the receipt while in the multiple frame mode of operation, of an sabme; b) the receipt of a dl-establish-request primitive from layer 3 ( see 5.5.1.1 ); c) the occurrence of n200 re-transmission failures while in the timer recovery condition ( see 5.6.7 ) d) the occurrence of a frame rejection condition as identified in 5.8.5; e) on the receipt, while in the multiple frame mode of operation of an frmr response frame ( see 5.8.6 ); f) the receipt, while in the multiple frame mode of operation, of an unsolicited dm response with the f bit set to o ( see 5.8.7 ); g) the receipt while in the timer recovery condition, of a dm response with the f bit set to 1. reaction of the isac-s a) after having checked for validity and non-occurrence of a frame rejection condition, the error free sabme can be identified after rme-interrupt by reading the rhcr-register; the multiple frame est/timer recovery discrimination can be done by reading star2: trec b) C c) a tin-interrupt occurs (of course mode: tmd has to have been 1) d) see section 3 e) see a) f) see a) g) see a). necessary software reactions the same actions as in section 3 have to be taken. in addition, in case of a) the necessary discrimination for the software is possible by reading star2: wfa while still in auto-mode. if wfa = 1 then v(s) > v(a); if wfa = 0, then v(s) = v(a).
semiconductor group 130 functional description further possible error conditions appendix ii of q.921: further possible error conditions table 10 q.921 management entity actions for mdl error indications error type error code error condition affected states network management action user management action receipt of unsolicited response a supervisory (f = 1) 7 error log dependent on implementation b dm(f = 1) 7, 8 error log dependent on implementation c ua(f = 1) 4, 7, 8 tei removal procedure or tei check pro- cedure; then, if tei: C free, remove tei C single, no ac- tion multiple: tei removal procedure tei identity verify procedure or remove tei d ua(f = 1) 4, 5, 6, 7, 8 e receipt of dm response (f = 0) 7, 8 error log dependent on implementation peer initiated re- establishment f sabme 7, 8 error log dependent on implementation unsuccessful re- transmission (n200 times) g sabme 5 tei check procedure; then, if tei: C free, remove tei C single, no ac- tion multiple: tei removal procedure tei identity verify procedure or remove tei hdisc 6 i status inquiry 8 error log dependent on implementation
semiconductor group 131 functional description note 1: for the description of the affected states see annex b. note 2: according to q.921 5.8.5 this error code will never be generated. reactions of the isac-s and necessary software reactions as the auto- mode is only to be used in states 7, 8 and as it has to be switched to non-auto mode where in states 1-6, we do not have to deal with error code g and h. a) the isac-s does not react at all (our implementation). the software is not informed, as no action is mandatory according to q.921. b) see 4.2a) c) " d) " e) " f) " i) see further criteria leading to a reestablishment j) see frame rejection condition k) see further criteria leading to a reestablishment l) see frame rejection condition m) n) see frame rejection condition o) only internal software timer, no device action. conclusion: for your error-processing with isac-s we suggest to implement the software design shown in the following figures 60 through 64 into your interrupt service routine. other j n(r) error 7, 8 error log dependent on implementation k receipt of frmr response 7, 8 error log dependent on implementation l receipt of non- implemented frame 4, 5, 6, 7, 8 error log dependent on implementation m ( see note 2 ) receipt of i-field not permitted 4, 5, 6, 7, 8 error log dependent on implementation n receipt of frame with wrong size 4, 5, 6, 7, 8 error log dependent on implementation o n201 error 4, 5, 6, 7, 8 error log dependent on implementation table 10 q.921 management entity actions for mdl error indications (contd) error type error code error condition affected states network management action user management action
semiconductor group 132 functional description figure 61 interrupt service routine after rme itd05896 rme & rsta:rab or crc ? y n /tin & /pce u-frame ? rsta: which link, ? auto-mode y n ? u-frame = = 1 0 1 1 = = or ista:rfo rsta:rdo : sapr rhcr, y n c/r control field processing not contained in table 5 of q.921 3.6.1 i-frame y n ? cmdr:rhr discard frame cont time is too slow software: please change your futher analysis outside the auto-mode link dynamic reaction 260 > rbcl rbch, re-establishment of the link re-establishment of the link cmdr:rmc cont. -> layer 3
semiconductor group 133 functional description figure 62 interrupt service routines after rpf (top), tin or pce (middle left), rsc (middle right), and xdu or rfo (bottom) itd05895 discard frame cont rpf & ? y n /tin & /pce rbch, cmdr:rhr cmdr:rmc read fifo rbcl > 528 note: in this case the software has to react instantaneously to the rpf ( < 500 s) re-establishment of the link tin or pce rsc variable change status the deutsche bundespost defined in 1 for the congestion procedure note: trg of please change your software: dynamic reaction is too slow xdu or rfo refer to the technical manual
semiconductor group 134 functional description figure 63 interrupt service routine after xpr itd05893 xpr & has a frame been ? n y /tin & /pce sent since last cmdr:xres transmitted n y ? is currently a frame ack1 last frame written to xfifo was ? y n an i-frame y n ? src * ack2 ack1 & ack2 * special request condition : last frame written to the xfifo was an answer to an identity request following a yet unacknowledged i-frame continue writing the contents of the frame to xfifo & issuing xmit command end acknowledged by the peer station was successful and has been the transmission of the i-frame transmission of the last frame has finished xmit command
semiconductor group 135 functional description figure 64 interrupt service routine after xmr itd05894 frame sent last xmr & ? n y /tin & /pce src re-transmit the frame sent last re-transmit the i -
semiconductor group 136 functional description figure 65a mode nam itd02365 note: the regeneration of this signal does not affect the sequence integrity of the i queue. 7 multiple frame established dl establish request request release dl discard i queue data link establish initiated layer 3 set 5 awaiting establishm. peer receiver busy star:rrnr i frame queued up request dl-data i queue discard i queue put in rc = 0 p = 1 i frame queued up star2:wfa (v)s = v(a) + k established frame multiple 7 tx disc xfifo cmdr xtf restart t200 stop t203 get next i queue entry xfifo p = 0 command txi cmdr:xif release awaiting 6 mode nam v(s) = v(s) + 1 clear acknowledge pending start t200 7 multiple frame established queued up i frame yes no no yes t200 running no yes stop t203
semiconductor group 137 functional description figure 65b deactivation persistent mdl remove request cmdr sti expiry t203 timer timer t200 expiry 7 multiple frame established queues i and ui discard discard i and ui queues indication dl release dl release indication stop t203 stop t200 stop t200 stop t203 unassigned tei 1 4 tei assigned 8 timer recovery star2: trec transmit enquiry rc = rc + 1 trec star2: recovery timer 8 itd02366 transmit enquiry rc = 0 peer busy i frame transmitted get last v(s) = v(s) - 1 p = 1 command tx i v(s) = v(s) + 1 pending acknowledge clear start t200 yes rc = 0 no
semiconductor group 138 functional description figure 65c itd02367 7 multiple frame established i queue discard star2:wfa = 0 v(s) = v(a) established frame multiple 7 tx ua xfifo cmdr xtf i queue discard no yes rme sabme rchr: rchr: disc rme rchr: ua rme f=p mdl-error indication (c,d) cmdr xtf xfifo tx ua clear exception conditions (f) indication mdl-error dl establish indication dl-release indication cmdr:rhr;xres stop t203 stop t200 stop t200 stop t203 assigned tei 4 mode nam established frame multiple 7 wfa star2: store v(r) = 0 v(a) = 0 v(s) = 0 f = p
semiconductor group 139 functional description figure 65d itd02368 established frame multiple 7 rhcr: dm rme f = 1 rhcr mdl-error indication (e) establish data link (b) indication mdl-error established frame multiple 7 busy receiver set own yes no no yes clear receiver busy cmdr:rnr = 1 busy receiver set own star:xrnr establishm. awaiting 5 mode nam f = 0 layer 3 clear initiated pending clear acknowledge acknowledge clear pending f = 0 star:xrnr clear own receiver busy cmdr:rnr = 0 busy receiver clear no yes clear own receiver busy established frame multiple 7 note: these signals are generated outside of this sdl representation, and may be generated by the connection management entity. tx rnr response tx rr response
semiconductor group 140 functional description figure 65e established frame multiple 7 rr receiver clear peer busy star:rrnr rsc / command no yes f = 1 yes no p = 1 yes no enquiry response star2:sdet 1 2 no f = 1 star2:sdet response enquiry p = 1 no yes yes no command rsc / star:rrnr busy clear peer receiver rej yes itd02369 figure 65f figure 65f (a) indication mdl-error- (a) indication mdl-error-
semiconductor group 141 functional description figure 65f 1 2 xpr / star2:wfa v(a) = n(r) retrans- invoke mission xmr / established frame multiple 7 recovery n(r) error pce establishm. awaiting 5 mode nam yes no no yes v(a) n(r) v(s) n(r) = v(s) yes no stop t200 v(a) = n(r) star2:wfa xpr / yes n(r) = v(a) established frame multiple 7 no itd02370 restart t200 v(a) = n(r) start t203 start t203 stop t200 _ < _ < v(a) n(r) v(s) _ < _ <
semiconductor group 142 functional description figure 65g established frame multiple 7 rnr receiver set peer busy star:rrnr rsc / command no yes f = 1 yes no p = 1 yes no enquiry response star2:sdet rhcr: frmr rme (k) mdl-error indication establish data link layer 3 clear initiated establishm. awaiting 5 mode nam no yes v(a) = n(r) star2:wfa xpr / restart t200 rc = 0 established frame multiple 7 n(r) error recovery pce establishm. awaiting 5 mode nam itd02371 stop t203 mdl-error- indication (a) v(a) n(r) v(s) _ < _ <
semiconductor group 143 functional description figure 65h established frame multiple 7 command i own receiver busy yes no n(s) = v(r) v(r) = v(r) + 1 no yes information discard exception clear reject exception reject rfifo, rhcr rme dl-data indication p = 1 p = 1 acknowledge pending f = p yes yes yes no no pending acknowledge set acknowledge pending pending acknowledge clear tx rr star2:sdet star2:sdet tx rej clear acknowledge pending f = p exception reject set 3 yes note 1 f = 1 pending acknowledge clear tx rnr star2:sdet yes p = 1 discard information no no no note 2 itd02372 figure 65i note 1 : processing of acknowledge pending is described on figure 65i . note 2 : this sdl - representation does not include the optional procedure in appendix i.
semiconductor group 144 functional description figure 65i 3 error n(r) recovery pce establishm. awaiting 5 mode nam no yes yes no stop t200 v(a) = n(r) star2:wfa xpr / n(r) = v(s) established frame multiple 7 yes itd02373 peer receiver busy xpr / star2:wfa v(a) = n(r) no n(r) = v(a) no yes v(a) = n(r) restart t200 restart t203 v(a) n(r) v(s) < _ _ < _ < _ <
semiconductor group 145 functional description figure 65j established frame multiple 7 pending acknowledge acknowledge pending clear acknowledge pending no yes f = 0 tx rr star2:sdet established frame multiple 7 itd02374
semiconductor group 146 functional description figure 66a mode nam itd02375 8 timer recovery dl establish request request dl discard i queue data link establish initiated layer 3 set 5 awaiting establishm. i frame queued up request dl-data i queue discard i queue put in rc = 0 p = 1 i frame queued up tx disc xfifo cmdr xtf restart t200 release awaiting 6 mode nam recovery timer 8 establish
semiconductor group 147 functional description figure 66b deactivation persistent mdl remove request timer t200 expiry queues i and ui discard discard i and ui queues indication dl-release dl-release indication stop t200 stop t200 transmit enquiry rc = rc + 1 recovery timer 8 itd02376 8 timer recovery timr timr unassigned tei 1 mode nam assigned tei 4 mode nam indication(i) mdl-error tin establish data link clear layer 3 initiated mode nam 5 awaiting establishm. rc = n200 yes no no v(s) = v(a) yes no yes start t200 clear acknowledge pending v(s) = v(s) + 1 tx i command p = 1 v(s) = v(s) - 1 get last transmitted i frame busy peer
semiconductor group 148 functional description figure 66c itd02377 8 timer recovery i queue discard star2:wfa = 0 v(s) = v(a) tx ua xfifo cmdr xtf i queue discard no yes rme sabme rhcr: rhcr: disc rme rhcr: ua rme f = p mdl-error indication (c, d) cmdr xtf xfifo tx ua clear exception conditions (f) indication mdl-error dl establish indication dl-release indication cmdr:rhr;xres stop t200 stop t200 assigned tei 4 mode nam established frame multiple 7 wfa star2: store v(r) = 0 v(a) = 0 v(s) = 0 f = p recovery timer 8 star2:trec start t203
semiconductor group 149 functional description figure 66d itd02378 rhcr: dm rme f = 1 rhcr mdl-error indication (e) establish data link (b) indication mdl-error busy receiver set own yes no no yes clear receiver busy cmdr:rnr = 1 busy receiver set own star:xrnr establishm. awaiting 5 mode nam f = 0 layer 3 clear initiated pending clear acknowledge acknowledge clear pending f = 0 star:xrnr clear own receiver busy cmdr:rnr = 0 busy receiver own no yes clear own receiver busy note: these signals are generated outside of this sdl representation, and may be generated by the connection management entity. recovery timer 8 recovery timer 8 tx rnr response tx rr response
semiconductor group 150 functional description figure 66e rr receiver clear peer busy star:rrnr rsc / command no yes f = 1 yes no p = 1 yes no enquiry response star2:sdet rej recovery timer 8 xpr / star2:wfa v(a)=n(r) retrans- invoke mission xmr / established frame multiple 7 recovery n(r) error pce establishm. awaiting 5 mode nam yes no yes no v(a) = n(r) star2:wfa xpr / itd02379 recovery timer 8 star2:trec start t203 stop t200 v(a) n(r) v(s) < _ _ < _ < _ < v(a) n(r) v(s) _ < _ < _ _ < <
semiconductor group 151 functional description figure 66f rnr busy star:rrnr rsc / command no yes f = 1 yes no p = 1 yes no enquiry response star2:sdet rchr: frmr rme (k) mdl-error indication establish data link layer 3 clear initiated establishm. awaiting 5 mode nam no yes v(a) = n(r) star2:wfa xpr / established frame multiple 7 n(r) error recovery pce establishm. awaiting 5 mode nam itd02380 recovery timer 8 yes no recovery timer 8 star2:trec xmr / mission retrans- invoke restart t200 rc = 0 xpr / star2:wfa v(a) = n(r) v(a) n(r) v(s) _ < _ < v(a) n(r) v(s) _ < _ <
semiconductor group 152 functional description figure 66g recovery timer 8 command i own receiver busy yes no n(s) = v(r) v(r) = v(r) + 1 no yes information discard exception clear reject exception reject rfifo, rhcr rme dl-data indication p = 1 p = 1 acknowledge pending f = p yes yes yes no no pending acknowledge set acknowledge pending pending acknowledge clear tx rr star2:sdet star2:sdet tx rej clear acknowledge pending f = p exception reject set 4 yes note 1 f = 1 pending acknowledge clear tx rnr star2:sdet yes p = 1 discard information no no no note 2 itd02381 figure 66h note 1 : processing of acknowledge note 2 : this sdl-representation does not include the optional procedure in appendix i. pending is descripted on figure 66i .
semiconductor group 153 functional description figure 66h figure 66i 4 error n(r) recovery pce establishm. awaiting 5 mode nam no yes itd02382 xpr / star2:wfa v(a) = n(r) recovery timer 8 v(a) n(r) v(s) _ < _ < recovery timer 8 pending acknowledge acknowledge pending clear acknowledge pending no yes f = 0 tx rr star2:sdet itd02383 8 timer recovery
semiconductor group 154 functional description figure 67a (note 1) states relevant request unit data dl ui frame queued up rme ui command rhcr ui queue place in remove ui frame from queue dl unit data indication queued up frame ui p = 0 note 2 note 2 note 2 tx ui command cmdr: xtf xfifo itd02384 note 1: the relevant states are as follows 4 tei-assigned 5 awaiting-establishement 6 awaiting-release 7 multiple-frame-established 8 timer-recovery note 2: the data link layer returns to the state it was in prior to the events shown.
semiconductor group 155 functional description figure 67b (note 1) states relevant info not permitted (x) clear layer 3 initiated mdl-error indication (l,m,n,o) itd02385 note 1: the relevant states are as follows 7 multiple-frame-established 8 timer-recovery error (w) field control (x) lenght incorrect 1 frame too long (y) establish data link establishm. awaiting 5 pce /
semiconductor group 156 functional description figure 67c (note 1) states relevant field control itd02577 error (w) (x) permitted info not i frame too long (y) (x) incorrect length (l, m, n, o) indication mdl-error- note 2 note 1: note 2: the relevant states are as follows: 4 tei-assigned 5 awaiting-establishment 6 awaiting-release the data link layer returns to the state it was in prior to the events shown
semiconductor group 157 functional description figure 67d itd02386 n(r) error recovery indication(j) mdl-error pce data link establish transmit enquiry conditions exception clear clear exception condition cmdr:rhr,xres mode: nam clear peer receiver busy cmdr:rhr,xres p = 1 establish data link p = 1 rc = 0 exception reject clear busy receiver own clear layer 3 initiated cmdr:rnr = 0 busy receiver clear own cmdr:xtf xfifo tx sabme command tx rr tx rnr command restart t200 stop t203 clear acknowledge pending pending acknowledge clear yes no start t200
semiconductor group 158 functional description figure 67e itd02387 enquiry response f = 1 busy receiver own response tx rr tx rnr response pending acknowledge clear yes no retrans- invoke mission v(s) = n(r) yes no v(s) =v(s) - 1 xmr queued up i frame star2:sdet star2:sdet back track along i queue note note: the generation of the correct number of signals in order to cause the required retransmission of i frames does not alter their sequence integrity .
semiconductor group 159 operational description 3 operational description the isac-s, designed for the connection of subscribers to an isdn using a standard s/t interface, has the following applications, corresponding to the operating modes explained in chapter 2 : terminal equipment te1, ta ? te mode e.g. isdn feature telephone, isdn voice/data workstation terminal adapter for non-isdn terminals (te2) network termination nt2 e.g. pabx, including the following functions: line termination on s ? lt-s mode such as an ipbx s interface line card line termination on t ? lt-t mode to connect an nt2 to an nt1 (digital trunk module) intelligent network termination ? nt mode e.g. nt1 with maintenance functions the operating mode of the isac-s must be set via pin strapping (pins m1, m0), as described in section 2.2 , before a hardware reset.
semiconductor group 160 operational description 3.1 microprocessor interface operation the isac-s is programmed via an 8-bit parallel microcontroller interface. easy and fast microprocessor access is provided by 8-bit address decoding on the chip. depending on the chip package (p-dip-40, p-lcc-44 or m-qfp-64) either one or three types of m p buses are provided: p-dip-40 package: the isac-s microcontroller interface is of the siemens/intel multiplexed address/data bus type with control signals cs , wr , rd , ale . p-lcc-44/p-mqfp-64 package: the isac-s microcontroller interface can be selected to be either of the (1) C motorola type with control signals cs , r/w , ds (2) C siemens/intel non-multiplexed bus type with control signals cs , wr , rd (3) C or of the siemens/intel multiplexed address/data bus type with control signals cs , wr , rd , ale . the selection is performed via pin ale as follows: ale tied to v dd t (1) ale tied to v ss t (2) edge on ale t (3). the occurrence of an edge on ale, either positive or negative, at any time during the operation immediately selects interface type (3). a return to one of the other interface types is possible only if a hardware reset is issued. notes: 1) if the multiplexed address/data bus type (3) is selected, the unused address pins a0-a5 are internally not evaluated and may thus be left open. it is however recommended to tie the unused input pins to a defined voltage level (e.g. v ss or v dd ). 2) if the non-multiplexed bus types (1) or (2) are selected, the serial interfaces sld and ssi can no longer be used since pin 5 (sdar)/a2 and pin 10 (sip/eaw)/a5 now have the function of address pins. these m p bus types are therefore primarily intended to be used in iom-2 modes (adf2:ims=1). if however the peb 2086 p-mqfp-64 package is used, the demultiplexed micro- processor interface is also available in iom-1 mode.
semiconductor group 161 operational description the microprocessor interface signals are summarized in table 11 . table 11 m p interface of the isac ? -s pin no. p-dip-40 pin no. p-lcc-44 function 37 38 39 40 1 2 3 4 41 42 43 44 1 2 3 4 multiplexed bus mode: address/data bus. transfers addresses from the m p system to the isac-s and data between the m p system and the isac-s. non-multiplexed bus mode: data bus. transfers data between the m p system and the isac-s. 34 37 chip select. a 0 ("low") on this line selects the isac-s for a read/write operation. 35 38 38 read/write. a 1 ("high"), identifies a valid m p access as a read operation. a 0, identifies a valid m p access as a write operation (motorola bus mode). write. this signal indicates a write operation (siemens/intel bus mode). 36 39 39 data strobe. the rising edge marks the end of a valid read or write operation (motorola bus mode). read. this signal indicates a read operation (siemens/intel bus mode). 20 23 interrupt request. the signal is activated when the isac-s requests an interrupt. it is an open drain output. 33 36 address latch enable. a high on this line indicates an address on the external address bus (multiplexed bus type only). ale also selects the m p interface type (multiplexed or non-multiplexed). 40 address bit 0 (non-multiplexed bus type). 6 address bit 1 (non-multiplexed bus type). 5 address bit 2 (non-multiplexed bus type). 18 address bit 3 (non-multiplexed bus type). 17 address bit 4 (non-multiplexed bus type). 10 address bit 5 (non-multiplexed bus type). od a4 i i input (i) output (o) open drain (od) i/o i/o i/o i/o i/o i/o i/o i/o i i i i i i i i i i symbol ad0/d0 ad1/d1 ad2/d2 ad3/d3 ad4/d4 ad5/d5 ad6/d6 ad7/d7 cs r/w wr ds rd int ale a0 a1 a2 a3 a5 pin no. p-mqfp-64 37 38 39 40 41 42 43 44 27 28 28 29 29 8 26 30 51 50 64 63 55
semiconductor group 162 operational description 3.2 interrupt structure and logic since the isac-s provides only one interrupt request output (int ), the cause of an interrupt is determined by the microprocessor by reading the interrupt status register ista. in this register, seven interrupt sources can be directly read. the lsb of ista points to eight non- critical interrupt sources which are indicated in the extended interrupt register exir ( figure 68 ). figure 68 isac ? -s interrupt structure itd02578 rme rpf rsc xpr tin cisq sin exi exi sin cisq tin xpr rsc rpf rme mask ista xmr xdu pce rfo sov mos saw wov exir mosr mocr mdr1 mer1 mda1 mab1 mdr0 mer0 mda0 mab0 mxe0 mre0 mxe1 mre1 int cir0 sqc bas cic0 cic1 sqie ci1e sqxr cir1 sqrr c o d r 0 only r iom -2
semiconductor group 163 operational description a read of the ista register clears all bits except exi and cisq. cisq is cleared by reading cir0. a read of exir clears the exi bit in ista as well as the exir register. when all bits in ista are cleared, the interrupt line (int ) is deactivated. each interrupt source in ista register can be selectively masked by setting to "1" the corresponding bit in mask. masked interrupt status bits are not indicated when ista is read. instead, they remain internally stored and pending, until the mask bit is reset to zero. reading the ista while a mask bit is active has no effect on the pending interrupt. in the event of an extended interrupt and of a c/i or s/q channel change, exi and cisq are set even when the corresponding mask bits in mask are active, but no interrupt (int ) is generated. except for cisq and mos all interrupt sources are directly determined by a read of ista and (possibly) exir. cisq interrupt logic C a cisq interrupt may originate C from a change in the received s/q code (sqc) C from a change in the received c/i channel 0 code (cic0) or (in the case of iom-2 terminal mode only) C from a change in the received c/i channel 1 code (cic1). the three corresponding status bits sqc, cic0 and cic1 are read in the cir0 register. sqc and cic1 can be individually disabled by clearing the enable bit sqie (sqxr register) or, respectively, ci1e (sqxr register). in this case the occurrence of a code change in sqrr/ cir1 will not be displayed by sqc/cic1 until the corresponding enable bit has been set to one. bits sqc, cic0 and cic1 are cleared by a read of cir0. an interrupt status is indicated every time a valid new code is loaded in sqrr, cir0 or cir1. but in case of a code change, the new code is not loaded until the previous contents have been read. when this is done and a second code change has already occurred, a new interrupt is immediately generated and the new code replaces the previous one in the register. the code registers are buffered with a fifo size of two. thus, if several consecutive codes are detected, only the first and the last code is obtained at the first and second register read, respectively.
semiconductor group 164 operational description mos interrupt logic the mos interrupt logic shown in figure 68 is valid only in the case of iom-2 interface mode. further, only one monitor channel is handled in the case of iom-2 non-terminal timing mo- des. in this case, mor1 and mox1 are unused. the monitor data receive (mdr) and the monitor end of reception (mer) interrupt status bits have two enable bits, monitor receive interrupt enable (mre) and mr bit control (mrc). the monitor channel data acknowledged (mda) and monitor channel data abort (mab) interrupt status bits have a common enable bit monitor interrupt enable (mxe). mre prevents the occurrence of the mdr status, including when the first byte of a packet is received. when mre is active (1) but mrc is inactive, the mdr interrupt status is generated only for the first byte of a receive packet. when both mre and mrc are active, mdr is gene- rated and all received monitor bytes C marked by a 1-to-0 transition in mx bit C are stored. (ad- ditionally, an active mrc enables the control of the mr handshake bit according to the moni- tor channel protocol.) in iom-1 mode the reception of a monitor byte is immediately indicated by the mos interrupt status, and registers mocr and mosr are not used. control of edge-triggered interrupt controllers the int output is level active. it stays active until all interrupt sources have been serviced. if a new status bit is set while an interrupt is serviced, the int line stays active. this may cause problems if the isac-s is connected to edge-triggered interrupt controllers ( figure 69 ). to avoid these problems, it is recommended to mask all interrupts at the end of the interrupt service program and to enable the interrupts again. this is done by writing ff h to the mask register and to write back the old value of the mask register ( figure 70 ).
semiconductor group 165 operational description figure 69 int handling figure 70 service program for edge-triggered interrupt controllers int a ? ? a status bit is set. this causes an interrupt. the microprocessor starts its service routine and reads the status registers. a a new status bit is set before the first status bit has been read. ? the first status bit is read. ? the int output stays active but the interrupt controller will not serve the interrupt (edge triggered). int a ???? ? to ? see above ? 'ff' is written to the mask register. this masks all interrupts and returns the int output to its inactive state. ? the old value is written to the mask register. this will activate the int output if an interrupt source is still active. ? the microprocessor starts a new interrupt service program. ? the last status bit is read. the int output is inactive.
semiconductor group 166 operational description figure 71 timing of int pin the int line is switched with the rising edge of dcl. if no pending interrupts are internally stored, a reading of ista respectively exir or cir0 switches the int line to high as indicated in figure 71 . 3.3 control of layer 1 3.3.1 activation/deactivation of iom ? interface in lt-t and lt-s applications the iom interface should be kept active, i.e. the clock dcl and the frame sync fsc1/2 (inputs) should always be supplied by the system. in te and nt applications the iom interface can be switched off in the inactive state, reducing power consumption to a minimum. in this deactivated state the clock line is low and the data lines are high. in te mode the iom interface can be kept active while the s interface is deactivated by setting the cfs bit to "0" (adf1 register in iom-1, sqxr register in iom-2 mode). this is the case after a hardware reset. if the iom interface should be switched off while the s interface is deactivated, the cfs bit should be set to "1". in this case the internal oscillator is disabled when no signal (info 0) is present on the s bus. if the te wants to activate the line, it has first to activate the iom interface either by using the "software power up" function (spcr:spu bit) or by setting the cfs bit to "0" again. for the te case the deactivation procedure is shown in figure 72 . after detecting the code diu (deactivate indication upstream, i.e. from te to nt/lt-s) the layer 1 of the isac-s responds by transmitting did (deactivate indication downstream) during subsequent frames and stops the timing signals synchronously with the end of the last c/i (c/i0) channel bit of the fourth frame. itd02388 ~ ~~ ~~ ~ dcl int rd
semiconductor group 167 operational description figure 72 deactivation of the iom ? interface itd02343 diu diu dr fsc1/2 idp1 idp2 deactivated (a) diu diu diu diu dr did did did did r iom -1 r iom itd02579 diu diu diu diu diu diu diu diu diu did did did did dr dr dr dr dr fsc idp1 idp0 deactivated d b2 mono d b1 cio cio (b) dcl r iom -2 -2 iom r
semiconductor group 168 operational description the clock pulses will be enabled again when the idp1 line is pulled low (bit spu, spcr register) i.e. the c/i command tim = "0000" is received by layer 1, or when a non-zero level on the s-line interface is detected. the clocks are turned on after approximately 0.2 to 4 ms depending on the capacitances on xtal 1/2. dcl is activated such that its first rising edge occurs with the beginning of the bit following the c/i (c/i0) channel. after the clocks have been enabled this is indicated by the pu code in the c/i channel and, consequently, by a cisq interrupt. the idp1 line may be released by resetting the software power up bit spcr:spu=0, and the c/i code written in cix0 is output on idp1. (a) iom ? C1 figure 73 activation of the iom ? interface (cfs=1, register adf1 (iom ? -1)/sqxr (iom ? -2)) itd02389 idp1 ~ ~ idp0 ~ ~ fsc1/2 ~ ~ dcl pu pu pu (ar) spu = 0 cisq int. 1 = spu 0.2 to 4 ms 4 x dcl
semiconductor group 169 operational description (b) iom ? C2 itd02390 ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ fsc idp1 idp0 fsc idp1 idp0 dcl spu = 1 0 = spu cis0 = tim cisq int. tim tim tim pu pu pu pu pu -ch1 b1 b1 mx mr 0.2 to 4 ms 132 x dcl note : idp0 is input and idp1 is low during iom -ch1 if : idc = 1 0 = idc : idp0 is low and idp1 is input during iom -ch1 if r iom r iom -ch1 r iom -ch2 iom -ch2 r r sqxr sqxr r
semiconductor group 170 operational description the isac-s supplies iom timing signals as long as there is no diu command in the c/i (c/i0) channel. if timing signals are no longer required and activation is not yet requested, this is indicated by programming diu in the cix0 register. as an alternative to activation via idp1 (du), the iom interface can be activated by setting the cfs bit to "0". the activation of fsc1 and dcl in this case is similar to figure 73 . note that the iom interface can be deactivated through diu (power-down state, figure 72 ) only if cfs is set to logical "1". in nt mode the iom interface is activated by the upstream unit turning on the clocking signals. simultaneously the upstream unit must send the desired command in the c/i channel. in the case where activation is requested from a terminal, the layer 1 of isac-s in the nt first requests timing on the iom interface by pulling idp0 to a static low level which causes a cisq interrupt. power-up state is entered immediately after timing has been applied. the clock signals may be switched off after the code deactivation indication downstream has been sent twice by the upstream unit. 3.3.2 activation/deactivation of s/t interface assuming the isac-s has been initialized with the required features of the application, it is now ready to transmit and receive messages in the d channel (lapd support). but as a prerequisite, the layer 1 has to be activated. the layer-1 functions are controlled by commands issued via the cixr/cix0 register. these commands, sent over the iom c/i channel 0 to layer 1, trigger certain procedures, such as activation/deactivation, switching of test loops and transmission of special pulse patterns. these are governed by layer-1 state diagrams in accordance with ccitt i.430. responses from layer 1 are obtained by reading the cirr/cir0 register after a cisq interrupt (ista). the state diagrams are shown in figures to . the activation/deactivation implemented by the isac-s in its different operating modes agrees with the requirements set forth in ccitt recommendations. state identifiers f1-f8 (te/lt-t) and g1-4 (nt/lt-s) are in accordance with ccitt i.430. in the nt mode the four states have been expanded to implement a full handshake between the ends of the subscriber loop. in the state diagrams a notation is employed which explicitly specifies the inputs and outputs on the s interface and in the c/i channel: see figure 74 .
semiconductor group 171 operational description figure 74 3.3.2.1 layer-1 command/indication codes and state diagrams in te/lt-t modes table 12 commands te/lt-t important note: in iom-2 mode (adf2:ims=1), when in the activated state (ai8/ai10 indication) the 2b+d channels are only transferred from the iom-2 to the s/ t interface if an "activate request" command is written to the cix0 register. itd02331 ii cmd. ind. state s-info c / unconditional transition xy r isac -s in r isac -s out i remarks command (upstream) abbr. code activation of all output clocks is requested timing tim 0000 (x) reset rs 0001 transmission of pseudo-ternary pulses at 96 khz frequency (x) send continuous zeros scz 0100 transmission of pseudo-ternary pulses at 2 khz frequency (x) send single zeros ssz 0010 activation command, set d-channel priority to 8 ( see note ) activate request, set priority 8 ar8 1000 activation command, set d-channel priority to 10 ( see note ) activate request, set priority 10 ar10 1001 activation of test loop 3 (x) activate request loop arl 1010 iom interface clocks can be disabled deactivate indication upstream diu 1111 (x) unconditional commands
semiconductor group 172 operational description table 13 indications te/lt-t *) note: the x0 pin of the peb 2085 isac-s which was intended for the con-input (connected to the s-bus) has been eliminated on the peb 2086. as a result, the c/i response dis (disconnect) will not be generated on the peb 2086. remarks indication (downstream) abbr. code iom clocking is provided power up pu 0111 deactivation request by s interface deactivate request dr 0000 wander is larger than 24 m s peak-to-peak (lt-t mode only) slip detected sd 0010 pin con connected to gnd* disconnected dis 0011 either: (pin rst = 1 and bit cfs = 0) or rs error indication ei 0110 signal received, receiver not synchronous level detected rsy 0100 info 2 received activate request downstream ard 1000 test loop 3 activated or continuous zeros transmitted test indication ti 1010 level detected during test loop awake test indication ati 1011 info 4 received, d-channel priority is 8 or 9 activate indication with priority class 8 ai8 1100 info 4 received, d-channel priority is 10 or 11 activate indication with priority class 10 ai10 1101 clocks will be disabled in te, quiescent state deactivate indication downstream did 1111
semiconductor group 173 operational description f3 power down this is the deactivated state of the physical protocol. the receive line awake unit is active except during an rst pulse. clocks are disabled if adf1/sqxr:cfs=1 (te mode). the power consumption in this state is approximately 80 mw when the clock is running, and 8 mw otherwise. f3 power up this state is identical to "f3 power down", except for the c/i output message. the state is invoked by a c/i command tim = "0000" (or idp1 static low). after the subsequent activation of the clocks the pu message is outputted. this occurs 0.5 ms to 4 ms after application of tim, depending on crystal capacitances. if, however, the isac-s is disconnected from the s interface (con = 0), the c/i message dis is outputted. f3 pending deactivation the isac-s reaches this state after receiving info0 (from states f5 to f8) for 16 ms (64 frames). this time constant is a "flywheel" to prevent accidental deactivation. from this state an activation is only possible from the line (transition "f3 pend. deact." to "f5 unsynchronized"). a power down state may be reached only after receiving diu. f4 pending activation activation has been requested from the terminal, info1 is transmitted, info0 is still received, "power up" is transmitted in the c/i channel. this state is stable: timer t3 (i.430) is to be implemented in software. f5 unsynchronized at the reception of any signal from the nt, the isac-s ceases to transmit info1 and awaits identification of info2 or info4. this state is reached at most 50 m s after a signal different from info0 is present at the receiver of the isac-s. f6 synchronized when the isac-s receives an activation signal (info2), it responds with info3 and waits for normal frames (info4). this state is reached at most 6 ms after an info2 arrives at the isac- s (when the oscillator was disabled in "f3 power down"). f7 activated this is the normal active state with the layer-1 protocol activated in both directions. note that in iom-2 mode the 2b+d channels can only be transmitted to the sit interface if an "activation request" command is written to the cix0 register. from state "f6 synchronized", state f7 is reached at most 0.5 ms after reception of info4. from state "f3 power down" with the oscillator disabled, state f7 is reached at most 6 ms after the isac-s is directly activated by info4.
semiconductor group 174 operational description f8 lost framing this is the condition where the isac-s has lost frame synchronization and is awaiting re- synchronization by info2 or info4 or deactivation by info0. unconditional states loop 3 closed on activate request loop command, info3 is sent by the line transmitter internally to the line receiver (info0 is transmitted to the line). the receiver is not yet synchronized. loop 3 activated the receiver is synchronized on info3 which is looped back internally from the transmitter. data may be sent. the indication "ti" or "ati" is output depending on whether or not a signal different from info0 is detected on the s interface. test mode continuous pulses continuous alternating pulses are sent. test mode single pulses single alternating pulses are sent (2-khz repetition rate). reset state a software reset (rs) forces the isac-s to an idle state where the analog components are disabled (transmission of info0) and the s line awake detector is inactive. thus activation from the nt is not possible. clocks are still supplied (te mode) and the outputs are in a low impedance state. the reset state should be left only with a "deactivation indication upstream" (diu) command before any other command is given.
semiconductor group 175 operational description figure 75a state diagram of te/lt-t mode itd02332 f3 power down did diu i0 i0 i0 i0 tim dis f3 power up i1 i0 aru pu f4 pend. act. f5 unsynchroniz. rsyd x i0 i0 f6 synchronized ard x i2 i3 i0 i0 aru dr f3 pend. deact. f8 lost framing f7 activated uncond. states x ix iy cmd. ind. state pu diu tim diu con i0 aru i0 rst tim tim tim x diu i0 i2 con aru i0 i0 i0 diu rsyd x i0 i0 sd aid aru i3 i4 i4 i0 i2 i4 i0 i0 i4 i2 i0 in out s x : unconditional command can be : arl, res, tm, ssp i0 r iom
semiconductor group 176 operational description figure 75b state diagram of te/lt-t mode: unconditional transitions itd02333 pu arl * i3 ix iy cmd. ind. state arl in out s x : forcing commands can be : arl, res, tm, ssp i0 arl ati i3 i3 x x x reset state ei rs i0 rs scz ic scz ti test mode x ssz x ti loop continuous puls. 3 closed activated 3 loop 1) i0 i3 1) * * * single pulses test mode any ssz is ind. 1) : only internally single pulses, : is test pulses, ic : 4 96 khz khz r iom
semiconductor group 177 operational description 3.3.2.2 layer-1 command/indication codes and state diagrams in lt-s mode table 14 commands and indications in lt-s mode (x) unconditional commands remarks command (downstream) abbr. code (x) deactivate request dr 0000 transmission of pseudo-ternary pulses at 96 khz frequency (x) send continuous zeros scz 0001 transmission of pseudo-ternary pulses at 2 khz frequency (x) send single zeros ssz 0010 activate request downstream ard 1000 activation request for loop 2 activate request loop arl 1010 deactivation acknowledgement, quiescent state deactivate indication downstream did 1111 remarks indication (upstream) abbr. code no receive signal lost signal level lsl 0001 receiver is not synchronous lost framing upstream rsyu 0100 info 1 received activate request upstream aru 1000 synchronous receiver activate indication upstream aiu 1100 timer (32 ms) expired or info 0 received (during 16 ms) after deactivation request deactivate indication upstream diu 1111
semiconductor group 178 operational description g1 deactivated the isac-s is not transmitting. no signal detected on the s interface, and no activation command is received in the c/i channel. g2 synchronized as a result of an info1 detected on the s line or an ard command, the isac-s begins transmitting info2 and waits for reception of info3. info2 is sent after the awake detector has detected pulses during 4 ms. the timer to supervise reception of info3 is to be implemented in the software. g3 activated normal state where info4 is transmitted to the s interface. this state is reached less than 2 ms after an info3 first arrives at the isac-s receiver. the isac-s remains in this state as long as neither a deactivation or a test mode is requested, nor a reset pulse is issued. when receiver synchronism is lost, info2 is sent automatically. after reception of info3, the transmitter keeps on sending info4. g4 pending deactivation this state is triggered by a deactivation request dr. it is an unstable state: indication diu (state "g4 unacknowledged") is issued by the isac-s when: C either info0 is received during 16 ms, C or an internal timer of 32 ms expires. g4 unacknowledged final state after a deactivation request. the isac-s remains in this state until a response to diu (in other words did) is issued, without which a new activation is impossible. test mode continuous pulses continuous alternating pulses are sent. test mode single pulses single alternating pulses are sent (2-khz repetition rate).
semiconductor group 179 operational description figure 76 state diagram of lt-s mode itd02334 ix iy cmd. ind. state in out s tiu : transparent indication upstream can be : aiu, rsyu, lsl scz ic tm diu test mode continuous puls. * single pulses, : is continuous pulses, ic : 4 96 khz khz did * continuous puls. test mode diu ssp is i0 dr tiu g4 pend. deact. * tiu ssz dr dr * g4 unackn. diu dr i0 g1 deactivated diu did i0 rst g2 synchronized aru did i2 g3 activated tiu i2/i4 i0 did (i0 during 16 (32 ms timeout) ms) or ard i1 i0 ard i3 +i1 any info ard did r iom
semiconductor group 180 operational description 3.3.2.3 layer-1 command/indication codes and state diagrams in nt mode table 15 commands and indications nt (x) unconditional commands remarks command (downstream) abbr. code (x) deactivate request dr 0000 transmission of pseudo-ternary pulses at 96 khz frequency after loss of synchronism of the u interface resynchronization downstream rsyd 0100 transmission of info 2 activate request downstream ard 1000 transmission of info 2, switching of test loop 2 activate request loop arl 1010 deactivation acknowledgement, quiescent state deactivate indication downstream did 1111 transmission of info 4 activate indication downstream aid 1100 remarks indication (upstream) abbr. code clocks are required timing tim 0000 no receive level lost signal level lsl 0001 receiver is not synchronous lost framing upstream rsyu 0100 rst and scz both active error indication ei 0110 info 1 received activate request upstream aru 1000 transmission of info 4, switching of test loop 2 activate indication loop ail 1110 transmission of pseudo-ternary pulses at 2-khz frequency (x) send single zeros ssz 0010 synchronous receiver activate indication upstream aiu 1100 timer (32 ms) expired or info 0 received (during 16 ms) after deactivation request deactivate indication upstream diu 1111
semiconductor group 181 operational description g1 deactivated the isac-s is not transmitting. no signal is detected on the s/t interface, and no activation command is received in the c/i channel. ei is output as a response to rst , diu is output in the normal deactivated state, and tim is output as a first step when an activation is requested from the s/t interface. g1 info1 detected an info1 is detected on the s/t interface, translated to an "activation request upstream" indication in the c/i channel. the isac-s is waiting for an ard command, which normally indicates that the transmission line upstream (usually a two-wire interface) is synchronized. g2 pending activation as a result of the ard command, an info2 is sent on the s/t interface. info3 is not yet received. g2 synchronized info3 was received, info2 continues to be transmitted while the isac-s waits for a "switch- through" command aid from the device upstream. g3 activated info4 is sent on the s/t interface as a result of the "switch through" command aid: the b and d channels are transparent. in case of loss of synchronism of the nt receiver, info2 is sent. lost framing u on receiving an rsyd command which usually indicates that synchronization has been lost on the two-wire interface, the isac-s transmits continuous alternating pulses. g4 pending deactivation this state is triggered by a deactivation request dr, and is an unstable state. indication diu (state "g4 unacknowledged") is issued by the isac-s when: C either info0 is received during 16 ms C or an internal timer of 32 ms expires. g4 unacknowledged final state after a deactivation request. the isac-s remains in this state until an "acknowledgement" to diu (did) is issued, without which a new activation is impossible. test mode continuous pulses continuous alternating pulses are sent. test mode single pulses single alternating pulses are sent (2-khz repetition rate).
semiconductor group 182 operational description figure 77 state diagram of nt mode ix iy cmd. ind. state in out s tiu : transparent indication can be : aiu, rsyu, lsl scz ic diu test mode continuous puls. * single pulses, : is continuous pulses, ic : 4 96 khz khz did * single pulses test mode is i0 dr tiu g4 pend. deact. * dr * g4 unackn. diu dr i0 g1 deactivated tim, did i0 rst g1 i1 detected aru did g2 pend. act. aru i0 did (i0 during 16 (32 ms timeout) ms) or ard i1 ard ssz * diu * info any tiu lost framing u itd02335 ic rsyd diu ei i0 i1 i2 i3 aid i2/i4 g3 activated tiu any info info any aiu g2 synchronized i2 ard ard i3 aiu aid rsyd ard rsyd aid rsyd r iom
semiconductor group 183 operational description 3.3.3 example of activation/deactivation an example of an activation/deactivation of the s interface, with the time relationships mentioned in the previous chapters, is shown in figure 78 , in the case of an isac ? -s in te and lt-s modes. figure 78 example of activation/deactivation info 0 ar te lt-s info 2 aiu info 4 info 3 info 1 ard aid aru rsyd info 0 info 0 diu dr dr itd02346 32 ms 16 ms 4 ms 16 ms max. 6 ms max. 2 ms 0.5 ms
semiconductor group 184 operational description 3.4 control of layer-2 data transfer the control of the data transfer phase is mainly done by commands from the m p to isac-s via the command register (cmdr). table 16 gives a summary of possible interrupts from the hdlc controller and the appropriate reaction to these interrupts. table 17 lists the most important commands which are issued by a microprocessor by setting one or several bits in cmdr. the powerful fifo logic, which consists of a 2 32 byte receive and 2 32 byte transmit fifo, as well as an intelligent fifo controller, builds a flexible interface to the upper protocol layers implemented in the microcontroller. the extent of lapd protocol support is dependent on the selected message transfer mode, see section 2.4.2 . table 16 interrupts from isac ? -s hdlc controller meaning mnemonic register (addr. hex) reaction receive pool full. request to read received bytes of an uncompleted hdlc frame from rfifo rpf ista (20) read 32 bytes from rfifo and acknowledge with rmc. receive message end. request to read received bytes of a complete hdlc frame (or the last part of a frame) from rfifo. rme ista (20) read rfifo (number of bytes given by rbcl4-0) and status information and acknowledge with rmc. receive frame overflow. a complete frame has been lost because storage space in rfifo was not available. rfo exir (24) error report for statistical purposes. possible cause: deficiency in software. protocol error. s or i -frame with incorrect n(r) or s frame with i -field received (in auto mode only) or an i -frame which is not a command or s-frame with an undefined control field. pce exir (24) link re-establishment. indication to layer 3. layer-2 receive
semiconductor group 185 operational description meaning mnemonic register (addr. hex) reaction transmit pool ready. further octets of an hdlc frame can be written to xfifo. if xifc was issued (auto mode), indicates that the message was successfully acknowledged with s frame. xpr ista (20) write data bytes in the xfifo if the frame currently being transmitted is not finished or a new frame is to be transmitted, and issue an xif, xifc, xtf or xtfc command. in auto mode applications read the information in chapter 2.5.5.2. transmit message repeat. frame must be repeated because of a transmission error (all hdlc message transfer modes) or a received negative acknowledgement (auto mode only) from peer station. xmr exir (24) transmission of the frame must be repeated. no indication to layer 3. transmit data underrun. frame has been aborted because the xfifo holds no further data and xme (xifc or xtfc) was not issued. xdu exir (24) transmission of the frame must be repeated. possible cause: excessive software reaction times. receive status change. a status change from peer station has been received (rr or rnr frame), auto mode only. rsc ista (20) stop sending new i -frames. layer-2 transmit timer interrupt. external timer expired or, in auto mode, internal timer (t200) and repeat counter (n200) both expired. tin ista (20) link re-establishment. indication to layer 3. (auto mode)
semiconductor group 186 operational description table 17 list of commands (cmdr (21) register) bit 70 command mnemonic hex meaning 1000 0000 rmc 80 receive message complete. acknowledges a block (rpf) or a frame (rme) stored in the rfifo. 0100 0000 rres 40 reset hdlc receiver. the rfifo is cleared. the transmit and receive counters (v(s), v(r)) are reset (auto mode). 0010 0000 rnr 20 receiver not ready (auto mode). an i - or s-frame will be acknowledged with rnr frame. 0001 0000 sti 10 start timer. 0000 1010 xtfc (xtf+xme) 0a transmit transparent frame and close. enables the "transparent" transmission of the block entered last in the xfifo. the frame is closed with a crc and a flag. 0000 0110 xifc (xif+xme) 06 transmit i -frame and close. enables the "auto mode" transmission of the block entered last in the xfifo. the frame is closed with a crc and a flag. 0000 1000 xtf 08 transmit transparent frame. enables the "transparent" transmission of the block entered last in the xfifo without closing the frame. 0000 0100 xif 04 transmit i -frame. enables the "auto mode" transmission of the block entered last in the xfifo without closing the frame. 0000 0001 xres 01 reset hdlc transmitter. the xfifo is cleared. a frame currently in transmission will be aborted and closed by an abort sequence (7 "1").
semiconductor group 187 operational description 3.4.1 hdlc frame reception assuming a normally running communication link (layer-1 activated, layer-2 link established, tei assigned), figure 79 illustrates the transfer of an i -frame via the d channel. the transmitter is shown on the left and the receiver on the right, with the interaction between the microcontroller system and the isac-s in terms of interrupt and command stimuli. when the frame (excluding the crc field) is not longer than 32 bytes, the whole frame is transferred in one block. the reception of the frame is reported via the receive message end (rme) interrupt. the number of bytes stored in rfifo can be read out from rbcl. the receive status register (rsta) includes information about the frame, such as frame aborted yes/no or crc valid yes/no and, if complete or partial address recognition is selected, the identification of the frame address. depending on the hdlc message transfer mode, the address and control field of the frame can be read from auxiliary registers (sapr and rhcr), as shown in figure 80 . figure 79 transmission of an i -frame in the d channel (subscriber to exchange) itd02391 system c- (te) system (lt-s) lapd link xif/xtf xpr xpr xif/xtf xifc/xtfc xpr (transparent transmit) transmit) (auto mode xpr i-frame s-frame (rr) ) := data transfer * *) in auto mode the "rr" response will be transmitted autonomously rpf rmc rpf rmc rme rmc - c- r isac -s isac r -s
semiconductor group 188 operational description figure 80 receive data flow note 1 only if a 2-byte address field is defined (mds0 = 1 in mode register). note 2 comparison with group tei (ff h ) is only made if a 2-byte address field is defined (mds0 = 1 in mode register). note 3 in the case of an extended, modulo 128 control field format (mcs = 1 in sap2 register) the control field is stored in rhcr in compressed form ( i frames). note 4 in the case of an extended control field, only the first byte is stored in rhcr, the second in rfifo. a frame longer than 32 bytes is transferred to the microcontroller in blocks of 32 bytes plus one remainder block of length 1 to 32 bytes. the reception of a 32-byte block is reported by a receive pool full (rpf) interrupt and the data in rfifo remains valid until this interrupt is acknowledged (rmc). this process is repeated until the reception of the remainder block is completed, as reported by rme ( figure 79 ). when the total frame length exceeds 4095 bytes, bit ov (rbch) is set but the counter is not blocked. if the second rfifo pool has been filled or an end-of-frame is received while a previous rpf or rme interrupt is not yet acknowledged itd02342 description of symbols: checked automatically by compared with register or fixed value stored info register or rfifo flag high address address low control information crc flag rsta rhcr ff tei1, tei2 sap1, sap2 fe, fc (note 1) 2) (note (note 3) rfifo rfifo fe, fc sap1, sap2 tei1, tei2 ff rhcr rsta 4) (note (note 2) 1) (note rsta rhcr ff tei1, tei2 rfifo rsta sapr rsta rfifo rfifo sap1, sap2 fe, fc auto mode (u and frames) i non-auto mode mode transparent 1 2 transparent mode 3 transparent mode - - - (note 4) r isac -s
semiconductor group 189 operational description by rmc, the corresponding interrupt will be generated only when rmc has been issued. when rme has been indicated, bits 0-4 of the rbcl register represent the number of bytes stored in the rfifo. bits 7-5 of rbcl and bits 0 to 3 of rbch indicate the total number of 32-byte blocks which where stored until the reception of the remainder block. the contents of rbcl, rbch and rsta registers are valid only after the occurrence of the rme interrupt, and remain valid until the microprocessor issues an acknowledgement (rmc). the contents of rhcr and/or sapr, also remain valid until acknowledgement. if a frame could not be stored due to a full rfifo, the microcontroller is informed of this via the receive frame overflow interrupt (rfo) 3.4.2 hdlc frame transmission after the xfifo status has been checked by polling the transmit fifo write enable (xfw) bit or after a transmit pool ready (xpr) interrupt, up to 32 bytes may be entered in xfifo. transmission of an hdlc frame is started when a transmit command ( see table 17 ) is issued. the opening flag is generated automatically. in the case of an auto mode transmission (xif or xifc), the control field is also generated by the isac-s, and the contents of register xad1 (and, for lapd, xad2) are transmitted as the address, as shown in figure 81 . figure 81 transmit data flow itd02341 flag address control information crc flag flag crc xfifo control xad1 flag hdlc frame flag xad1 control xfifo crc flag flag crc xfifo flag xad2 (xif) transmit i-frame auto mode, 8-bit addr. 16-bit addr. auto mode, transmit i-frame (xif) all modes transmit transparent frame (xtf) note: length of control field is b or 16 description of symbols: bit generated automatically by written initially by cpu loaded (repeatedly) (info register) by cpu upon (xpr interrupt) request - r isac -s r isac -s
semiconductor group 190 operational description the hdlc controller will request another data block by an xpr interrupt if there are no more than 32 bytes in xfifo and the frame close command bit (transmit message end xme) has not been set. to this the microcontroller responds by writing another pool of data and re- issuing a transmit command for that pool. when xme is set, all remaining bytes in xfifo are transmitted, the crc field and the closing flag of the hdlc frame are appended and the controller generates a new xpr interrupt. the microcontroller does not necessarily have to transfer a frame in blocks of 32 bytes. as a matter of fact, the sub-blocks issued by the microcontroller and separated by a transmit command, can be between 0 and 32 bytes long. if the xfifo runs out of data and the xme command bit has not been set, the frame will be terminated with an abort sequence (seven 1's) followed by inter-frame time fill, and the microcontroller will be advised by a transmit data underrun (xdu) interrupt. an hdlc frame may also be aborted by setting the transmitter reset (xres) command bit. 3.5 reset after a hardware reset (pin rst), layer 1 will have reached the following state: C g1 deactivated in lt-s/nt mode C f3 standby in te/lt-mode according to ccitt i.430. f3 standby state means that the internal oscillator, the dcl clock and fsc1/2 are active. during the reset pulse pins sdax/sds1 and sca/fsd/sds2 are "low". the s/t interface awake detector is active after reset. the f3 power down state, where the internal oscillator itself is disabled, can be reached by setting the cfs bit (adf1/sqxr register) to logical "1". a subset of isac-s registers with defined reset values is listed in table 18. table 18 state of isac ? -s registers after hardware reset value after reset (hex) register (address (hex)) meaning ista (20) 00 no interrupts mask (20) 00 all interrupts enabled exir (24) 00 no interrupts star (21) 48 (4a) C xfifo is ready to be written to C rfifo is ready to receive at least 16 octets of a new message cmdr (21) 00 no command
semiconductor group 191 operational description value after reset (hex) register (address (hex)) meaning mode (22) 00 C auto mode C 1-octet address field C external timer mode C receiver inactive C iom-1 interface, monitor channel used for tic bus access only rbcl (25) rbch (2a) 00 xxx00000 2 C no frame bytes received spcr (30) 00 C idp1 pin = "high" C sip pin "high impedance" C timing mode 0 C iom interface test loop deactivated C sld b channel loop selected C sdax/sds1, sca/fsd/sds2 pins = "low" cir0 (31) 7c C no change in s/q channel C another device occupies the d and c/i channels C received c/i code = "1111" C no c/i code change cix0 (31) 3c C tic bus is not requested for transmitting a c/i code C transmitted c/i code = "1111" stcr (37) 00 C terminal specific functions disabled C tic bus address = "0000" C no synchronous transfer adf1 (38) 00 C no test mode C active clock signals (standby) in te mode C no prefilter C polarity of fsc1/2: high during the first half of the frame (in te mode only) C inter-frame time fill = continuous "1" adf2 (39) 00 C iom-1 interface mode selected C sds1/2 low sqxr (3b) 0f/00 C adaptive timing (point-to-point s interface in nt/lt-s mode) C s, q interrupt not enabled
semiconductor group 192 operational description 3.6 initialization during initialization a subset of registers have to be programmed to set the configuration parameters according to the application and desired features. they are listed in table 19 . table 19 register (address) adf2 (39 h ) bit effect application restricted to ims d2c2-0 d1c2-0 ods program iom-1 or iom-2 interface mode polarity of sds2 polarity of sds1 iom output driver tri-state/open drain iom-2 iom-2 iom-2 spcr (30 h ) (note) spu sac spm tlp c2c1-0 c1c1-0 set the isac-s in standby by requesting clocks (if cfs = 1, register adf1/sqxr) sld port inactive/active 0 timing mode 0 1 timing mode 1 0 terminal timing mode 1 non-terminal timing mode iom interface test loop b-channel switching or b/ic channel connect te te/nt lt-s/lt-t only te lt-s/lt-t iom-1 iom-1 iom-2 iom-1 iom-2 sqxr (3b h )idc cfs iom data port idp0, 1 direction control (must be set to "0" for normal operation) 0 permanent standby 1 power-down state enabled 0 s interface point-to-point 1 s-bus configuration te lt-s/nt iom-2 iom-2
semiconductor group 193 operational description register (address) adf1 (38 h ) bit effect application restricted to tem cfs pfs csel2-0 iof fc1-2 test mode 0 permanent standby 1 power down state enabled 0 s-interface point-to-point 1 s-bus configuration prefilter enable iom channel select (time slot) iom off/on polarity of fsc1/2 tests with layer 1 disabled te lt-s/nt te/lt-t non-te te te iom-1 iom-2 iom-2 iom-1 cix0 (31 h ) rss hardware reset generated by either subscriber/ exchange awake or watchdog timer te specific functions (tsf = 1) stcr (37 h )tsf tba2-0 terminal specific function enable/sld interface enable tic bus address bus configuration for d + c/i (tic) mode (22 h )mds2-0 tmd dim2-0 hdlc message transfer mode 2 bytes/1 byte address timer mode external/internal point-to-point/tic bus configuration on iom interface, for d + c/i channel arbitration point-to-point/bus configuration on s/t interface, for d-channel access. auto mode only
semiconductor group 194 operational description note: after a hardware reset the pins sdax/sds1 and sca/fsd/sds2 are both "low" and have the functions of sds1 and sds2 in terminal timing mode (since spm=0), respec- tively, until the spcr is written to for the first time. from that moment on, the function taken on by these pins depends on the state of the iom mode select bit ims (adf2 register). register (address) timr (23 h ) bit effect application restricted to cnt value n1 and t1 in internal timer mode (tmd = 1) t2 in external timer mode xad1 (24 h ) xad2 (25 h ) sapi, tei transmit frame address auto mode only sap1/2 (26 h /27 h ) tei1/2 (28 h /29 h ) receive sapi, tei address values for internal address recognition
semiconductor group 195 register description 4 detailed register description the parameterization of the isac-s and the transfer of data and control information between the m p and isac-s is performed through two register sets. the register set in the address range 00-2b h pertains to the hdlc transceiver and lapd controller. it includes the two fifos having an identical address range from 00-1f h . the register set ranging from 30-3b h pertains to the control of layer-1 functions and of the iom interface. since the meaning of most register bits depends on the selected iom mode (iom-1 or iom-2), the description of this register set is divided into two sections: l 4.2 special purpose registers: iom-1 mode l 4.3 special purpose registers: iom-2 mode the address map and a register summary are shown in the following tables: table 20 isac ? -s address map 00-2b h name description read address (hex) name description write rfifo receive fifo 00 . . 1f xfifo transmit fifo ista interrupt status register 20 mask mask register star status register 21 cmdr command register mode mode register 22 timr timer register 23 exir extended interrupt register 24 xad1 transmit address 1 rbcl receive frame byte count low 25 xad2 transmit address 2 sapr received sapi 26 sap1 individual sapi 1 rsta receive status register 27 sap2 individual sapi 2 28 tei1 individual tei 1 rhcr receive hdlc control 29 tei2 individual tei 2 rbch receive frame byte count high 2a star2 status register 2 2b
semiconductor group 196 register description table 21 isac ? -s address map 30-3b h name description read address (hex) name description write spcr serial port control register 30 cirr/ cir0 command/indication receive (0) 31 cixr/ cix0 command/indication transmit (0) sfcr/ mor1 sip feature control read/ monitor receive 1 34 sfcw/ mox1 sip feature control write/ monitor transmit 1 c1r channel register 1 35 mor/ mor0 monitor receive (0) 32 mox/ mox0 monitor transmit (0) sscr/ cir1 sip signaling code receive/ command/indication receive 1 33 sscx/ cix1 sip signaling code transmit/ command/indication transmit 1 c2r channel register 2 36 b1cr b1 channel register 37 stcr sync transfer control register b2cr b2 channel register 38 adf1 additional feature register 1 adf2 additional feature register 2 39 mosr monitor status register 3a mocr monitor control register sqrr s, q channel receive register 3b sqxr s, q channel transmit register
semiconductor group 197 register description table 22 register summary: hdlc operation and status registers exi sin cisq tin xpr rsc rpf rme 20 h 0 7 ista r exi sin cisq tin xpr rsc rpf rme 20 h mask w mac0 bvs mac1 mbr rrnr xrnr xfw xdov 21 h star r xres xme xif xtf sti rnr rres rmc 21 h cmdr w dim0 dim1 dim2 rac tmd mds0 mds1 mds2 22 h mode r/ w wov saw mos sov rfo pce xdu xmr 24 h exir r ta c/r sa0 sa1 rab crc rdo rda 27 h rsta r 0 0 mult 0 0 0 0 0 2b h star2 w value 23 h timr r/ w 24 h xad1 w rbc0 rbc1 rbc2 rbc3 rbc4 rbc5 rbc6 rbc7 25 h rbcl r 25 h xad2 w 29 h rhcr r rbc8 rbc9 rbc1 rbc1 ov vn0 vn1 xac 2a h rbch r 26 h sapr r 0 cri sapi1 26 h sap1 w 0 mcs 27 h sap2 w ea 28 h tei1 w 29 h tei2 w sdet trec mult wfa 0 0 0 0 2b h star2 r cnt sapi2 tei1 ea tei2
semiconductor group 198 register description table 23 register summary: special purpose register iom ? -1 mode iom ? -1: c2c0 c2c1 c1c0 c1c1 tlp spm sac spu 30 h 0 7 spcr r/ w 37 h b1cr r 0 cic0 codr bas sqc 31 h cirr r ecx tcx bac rss 31 h cixr w 32 h mor r 32 h mox w 33 h sscr r 33 h sscx w 34 h sfcr r 34 h sfcw w 35 h c1r r/ w 36 h c2r r/ w sc0 sc1 st0 st1 tba0 tba1 tba2 tsf 37 h stcr w 38 h b2cr r itf fc1 fc2 cfs pfs tem wtc2 wtc1 38 h adf1 w 0 0 0 0 0 0 0 ims 39 h adf2 r/ w sqr4 sqr3 sqr2 sqr1 syn 0 0 0 3b h sqrr r sqx4 sqx3 sqx2 sqx1 sqie 0 0 0 3b h sqxr w codx
semiconductor group 199 register description table 24 register summary: special purpose register iom ? -2 mode iom ? -2: c2c0 c2c1 c1c0 c1c1 tlp spm 0 spu 30 h 0 7 spcr r/ w 37 h b1cr r cic1 cic0 bas sqc 31 h cir0 r 1 1 bac rss 31 h cix0 w 32 h mor0 r 32 h mox0 w mab0 mda0 mer0 mdr0 mab1 mda1 mer1 mdr1 3a h mosr r mxc0 mxe0 mrc0 mre0 mxc1 mxe1 mrc1 mre1 3a h mocr w 35 h c1r r/ w 36 h c2r r/ w sc0 sc1 st0 st1 tba0 tba1 tba2 tsf 37 h stcr w 38 h b2cr r d1c0 d1c1 d1c2 ods d2c0 d2c1 d2c2 ims 39 h adf2 r/ w sqr4 sqr3 sqr2 sqr1 syn ci1e cfs idc 3b h sqrr r sqx4 sqx3 sqx2 sqx1 sqie ci1e cfs idc 3b h sqxr w mx1 mr1 33 h cir1 r 1 1 33 h cix1 w 34 h mor1 r 34 h mox1 w itf 0/ csel0 0/ csel1 iof/ csel2 pfs tem wtc2 wtc1 38 h adf1 w codr0 codx0 codr1 codx1
semiconductor group 200 register description 4.1 hdlc operation and status registers 4.1.1 receive fifo rfifo read address 00-1f h a read access to any address within the range 00-1f h gives access to the "current" fifo location selected by an internal pointer which is automatically incremented after each read access. this allows for the use of efficient 'move string' type commands by the processor. the rfifo contains up to 32 bytes of received frame. after an ista:rpf interrupt, exactly 32 bytes are available. after an ista:rme interrupt, the number of bytes available can be obtained by reading the rbcl register. 4.1.2 transmit fifo xfifo write address 00-1f h a write access to any address within the range 00-1f h gives access to the "current" fifo location selected by an internal pointer which is automatically incremented after each write access. this allows for the use of efficient 'move string' type commands by the processor. up to 32 bytes of transmit data can be written into the xfifo following an ista:xpr interrupt. 4.1.3 interrupt status register ista read address 20 h value after reset: 00 h rme receive message end one complete frame of length less than or equal to 32 bytes, or the last part of a frame of length greater than 32 bytes has been received. the contents are available in the rfifo. the message length and additional information may be obtained from rbch + rbcl and the rsta register. rpf receive pool full a 32-byte block of a frame longer than 32 bytes has been received and is available in the rfifo. the frame is not yet complete. rsc receive status change. used in auto-mode only. a status change in the receiver of the remote station C receiver ready/receiver not ready C has been detected (rr or rnr s-frame). the actual status of the remote station can be read from the star register (rrnr bit). exi sin cisq tin xpr rsc rpf rme 0 7
semiconductor group 201 register description xpr transmit pool ready a data block of up to 32 bytes can be written to the xfifo. an xpr interrupt will be generated in the following cases: C after an xtf or xif command, when one transmit pool is emptied and the frame is not yet complete C after an xtf together with an xme command is issued, when the whole transparent frame has been transmitted C after an xif together with an xme command is issued, when the whole i -frame has been transmitted and a positive acknowledgement from the remote station has been received, (auto-mode). tin timer interrupt the internal timer and repeat counter has expired (see timr register). cisq c/i or s/q channel change a change in c/i channel 0, c/i channel 1 (only in iom-2 te mode) or s/q channel has been recognized. the actual value can be read from cir0, cir1 or sqrr. sin synchronous transfer interrupt when programmed (stcr register), this interrupt is generated to enable the processor to lock on to the iom timing, for synchronous transfers. exi extended interrupt this bit indicates that one of six non-critical interrupts has been generated. the exact interrupt cause can be read from exir. note: a read of the ista register clears all bits except exi and cisq. exi is cleared by reading the exir register, cisq is cleared by reading cirr/cir0. 4.1.4 mask register mask write address 20 h value after reset: 00 h each interrupt source in the ista register can be selectively masked by setting to "1" the corresponding bit in mask. masked interrupt status bits are not indicated when ista is read. instead, they remain internally stored and pending, until the mask bit is reset to zero. note: in the event of an extended interrupt and of a c/i or s/q channel change, exi and cisq are set in ista even if the corresponding mask bits in mask are active, but no interrupt (int pin) is generated. 4.1.5 status register star read address 21 h 0 7 exi sin cisq tin xpr rsc rpf rme
semiconductor group 202 register description value after reset: 48 h xdov transmit data overflow more than 32 bytes have been written in one pool of the xfifo, i.e. data has been overwritten. xfw transmit fifo write enable data can be written in the xfifo. this bit may be polled instead of (or in addition to) using the xpr interrupt. xrnr transmit rnr. used in auto-mode only in auto-mode, this bit indicates whether the isac-s receiver is in the "ready" (0) or "not ready" (1) state. when "not ready", the isac-s sends an rnr s-frame autonomously to the remote station when an i -frame or an s-frame is received. rrnr receive rnr. used in auto-mode only in the auto-mode, this bit indicates whether the isac-s has received an rr or an rnr frame, this being an indication of the current state of the remote station: receiver ready (0) or receiver not ready (1). mbr message buffer ready this bit signifies that temporary storage is available in the rfifo to receive at least the first 16 bytes of a new message. mac1 monitor transmit channel 1 active (iom-2 terminal mode only) data transmission is in progress in monitor channel 1. bvs b-channel valid on sip (iom-1 mode only). b channel on sip (sld) can be accessed. mac0 monitor transmit channel 0 active. used in iom-2 mode only. data transmission is in progress in monitor channel 0. 0 7 mac0 bvs mac1 mbr rrnr xrnr xfw xdov
semiconductor group 203 register description 4.1.6 command register cmdr write address 21 h value after reset: 00 h note: the maximum time between writing to the cmdr register and the execution of the command is 2.5 dcl clock cycles. during this time no further commands should be written to the cmdr register to avoid any loss of commands. rmc receive message complete reaction to rpf (receive pool full) or rme (receive message end) interrupt. by setting this bit, the processor confirms that it has fetched the data, and indicates that the corresponding space in the rfifo may be released. rres receiver reset hdlc receiver is reset, the rfifo is cleared of any data. in addition, in auto-mode, the transmit and receive counters (v(s), v(r)) are reset rnr receiver not ready used in auto-mode only. determines the state of the isac-s hdlc receiver. when rnr = "0", a received i or s-frame is acknowledged by an rr supervisory frame, otherwise by an rnr supervisory frame. sti start timer the isac-s hardware timer is started when sti is set to one. in the internal timer mode (tmd bit, mode register) an s-command (rr, rnr) with poll bit set is transmitted in addition. the timer may be stopped by a write of the timr register. xtf transmit transparent frame after having written up to 32 bytes in the xfifo, the processor initiates the transmission of a transparent frame by setting this bit to "1". the opening flag is automatically added to the message by the isac-s. xif transmit i-frame used in auto-mode only after having written up to 32 bytes in the xfifo, the processor initiates the transmission of an i -frame by setting this bit to "1". the opening flag, the address and the control field are automatically added by the isac-s. 0 7 xres xme xif xtf sti rnr rres rmc
semiconductor group 204 register description xme transmit message end by setting this bit to "1" the processor indicates that the data block written last in the xfifo completes the corresponding frame. the isac-s terminates the transmission by appending the crc and the closing flag sequence to the data. xres transmitter reset hdlc transmitter is reset and the xfifo is cleared of any data. this command can be used by the processor to abort a frame currently in transmission. notes: l after an xpr interrupt further data has to be written in the xfifo and the appropriate transmit command (xtf or xif) has to be written in the cmdr register again to continue transmission, when the current frame is not yet complete (see also xpr in ista). l during frame transmission, the 0-bit insertion according to the hdlc bit-stuffing mechanism is done automatically. 4.1.7 mode register mode read/write address 22 h value after reset: 00 h mds2-0 mode select determines the message transfer mode of the hdlc controller, as follows: 0 7 dim0 dim1 dim2 rac tmd mds0 mds1 mds2
semiconductor group 205 register description note: sap1, sap2: two programmable address values for the first received address byte (in the case of an address field longer than 1 byte); sapg = fixed value fc/fe h . tei1, tei2: two programmable address values for the second (or the only, in the case of a one-byte address) received address byte; teig = fixed value ff h . tmd timer mode sets the operating mode of the isac-s timer. in the external mode (0) the timer is controlled by the processor. it is started by setting the sti bit in cmdr and it is stopped by a write of the timr register. in the internal mode (1) the timer is used internally by isac-s for timeout and retry conditions (handling of lapd/hdlc protocol in auto-mode). mds2 mds1 mds0 addresss comparison 1. byte 2. byte remark 0 0 0 tei1, tei2 C one-byte address compare. hdlc protocol handling for frames with address tei1 mode auto-mode number of address bytes 1 0 0 1 sap1, sap2, sapg tei1, tei2, teig two-byte address compare. lapd protocol handling for frames with address sap1 + tei1 auto-mode 2 0 1 0 tei1, tei2 C one-byte address compare. non-auto- mode 1 0 1 1 sap1, sap2, sapg tei1, tei2, teig two-byte address compare. non-auto- mode 2 1 0 0 reserved 1 0 1 C tei1, tei2, teig low-byte address compare. transparent mode 1 >1 1 1 0 C C no address compare. all frames accepted. transparent mode 2 C 1 1 1 sap1, sap2, sapg C high-byte address compare. transparent mode 3 >1
semiconductor group 206 register description rac receiver active the hdlc receiver is activated when this bit is set to "1". dim2-0 digital interface mode these bits define the characteristics of the iom data ports (idp0, idp1) according to following tables: iom ? -1 modes (adf2:ims = 0) notes: 1) if the tic bus access handling is not required, i.e. if only one layer-2 device occupies the d and c/i channel, the tic bus address should be programmed to "111" e.g. stcr = 70 h . 2) this function is only meaningful in test mode (adf1:tem = 1) for data transfers with external layer-1 devices (ibc peb 2095, iec peb 2091). 000 characteristics 001 iom frame structure 010 100 101-111 011 dim2-0 test purposes hdlc interface monitor channel used for tic bus access 1) monitor channel used for data transfer 2) monitor channel stop/go bit evaluated for d-channel access handling reserved applications te mode () 1 lt-t mode with d-channel collision resolution lt-t, nt, lt-s modes with transparent d channel () 1
semiconductor group 207 register description iom ? -2 modes (adf2:ims = 1) 4.1.8 timer register timr read/write address 23 h value after reset: undefined (previous value) cnt the meaning depends on the selected timer mode (tmd bit, mode register). * internal timer mode (tmd = 1) cnt indicates the maximum number of s-commands "n1" which are transmitted autonomously by the isac-s after expiration of time period t1 (retry, according to hdlc). characteristics iom-2 terminal mode spcr:spm = 0 100-111 iom-2 non-terminal mode spcr:spm = 1 last octet of iom channel 2 used for tic bus access stop/go bit evaluated for d-channel access handling reserved applications te mode lt-t mode with d-channel collision resolution lt-t, nt, lt-s modes with transparent d channel 000 001 010 011 0 7 dim2-0 value cnt
semiconductor group 208 register description the internal timer procedure will be started in auto-mode: C after start of an i -frame transmission or C after an "rnr" s-frame has been received. after the last retry, a timer interrupt (tin-bit in ista) is generated. the timer procedure will be stopped when C a tin interrupt is generated. the time between the start of an i-frame transmission or reception of an "rnr" s-frame and the generation of a tin interrupt is equal to: (cnt+1) t1. C or the timr is written C or a positive or negative acknowledgement has been received. note: the maximum value of cnt can be 6. if cnt is set to 7, the number of retries is unlimited. * external timer mode (tmd = 0) cnt together with value determine the time period t2 after which a tin interrupt will be generated: cnt 2.048 s + t1 with t1 = (value + 1) 0.064 s, in the normal case, and t2 = 16348 cnt dcl + t1 with t1 = 512 (value + 1) dcl when tlp = 1 (test loop activated, spcr register). dcl denotes the period of the dcl clock. the timer can be started by setting the sti-bit in cmdr and will be stopped when a tin interrupt is generated or the timr register is written. note: if cnt is set to 7, a tin interrupt is indefinitely generated after every expiration of t1. value determines the time period t1 : t1 = (value + 1) 0.064 s (spcr:tlp = 0, normal mode) t1 = 512 (value + 1) dcl (spcr:tlp = 1, test mode).
semiconductor group 209 register description 4.1.9 extended interrupt register exir read address 24 h value after reset: 00 h xmr transmit message repeat the transmission of the last frame has to be repeated because: C the isac-s has received a negative acknowledgement to an i -frame in auto-mode (according to hdlc/lapd) C or a collision on the s-bus has been detected after the 32 nd data byte of a transmit frame. xdu transmit data underrun the current transmission of a frame is aborted by transmitting seven "1's" because the xfifo holds no further data. this interrupt occurs whenever the processor has failed to respond to an xpr interrupt (ista register) quickly enough, after having initiated a transmission and the message to be transmitted is not yet complete. note: when an xmr or and xdu interrupt is generated, it is not possible to send transparent frames or i -frames until the interrupt has been acknowledged by reading exir. pce protocol error used in auto-mode only. a protocol error has been detected in auto-mode due to a received Cs- or i -frame with an incorrect sequence number n(r) or C s-frame containing an i -field. C i -frame which is not a command. C s-frame with an undefined control field. rfo receive frame overflow the received data of a frame could not be stored, because the rfifo is occupied. the whole message is lost. this interrupt can be used for statistical purposes and indicates that the processor does not respond quickly enough to an rpf or rme interrupt (ista). sov synchronous transfer overflow the synchronous transfer programmed in stcr has not been acknowledged in time via the sc0/sc1 bit. mos monitor status a change in the monitor status register (mosr) has occured (iom-2). a new monitor channel byte is stored in mor (iom-1). 0 7 wov saw mos sov rfo pce xdu xmr
semiconductor group 210 register description saw subscriber awake used only if terminal specific functions are enabled (stcr:tsf = 1). indicates that a falling edge on the eaw line has been detected, in case the terminal specific functions are enabled (tsf-bit in stcr). wov watchdog timer overflow used only if terminal specific functions are enabled (stcr:tsf = 1). signals the expiration of the watchdog timer, which means that the processor has failed to set the watchdog timer control bits wtc1 and wtc2 (adf1 register) in the correct manner. a reset pulse has been generated by the isac-s. 4.1.10 transmit address 1 xad1 write address 24 h used in auto-mode only. xad1 contains a programmable address byte which is appended automatically to the frame by the isac-s in auto-mode. depending on the selected address mode xad1 is interpreted as follows: * 2-byte address field xad1 is the high byte (sapi in the isdn) of the 2-byte address field. bit 1 is interpreted as the command/response bit "c/r". it is automatically generated by the isac-s following the rules of isdn lapd protocol and the cri bit value in sap1 register. bit 1 has to be set to "0". in the isdn lapd the address field extension bit "ea", i.e. bit 0 of xad1 has to be set to "0". * 1-byte address field according to the x.25 lapb protocol, xad1 is the address of a command frame. note: in standard isdn applications only 2-byte address fields are used. c/r bit command response transmitting end cri bit 01subscriber0 1 0 network 1 0 7
semiconductor group 211 register description 4.1.11 receive frame byte count low rbcl read address 25 h value after reset: 00 h rbc7-0 receive byte count eight least significant bits of the total number of bytes in a received message. bits rbc4-0 indicate the length of the data block currently available in the rfifo, the other bits (together with rbch) indicate the number of whole 32-byte blocks received. if exactly 32 bytes are received rbcl holds the value 20 h . 4.1.12 transmit address 2 xad2 write address 25 h used in auto-mode only. xad2 contains the second programmable address byte, whose function depends on the selected address mode: * 2-byte address field xad2 is the low byte (tei in the isdn) of the 2-byte address field. * 1-byte address field according to the x.25 lapb protocol, xad2 is the address of a response frame. note: see note to xad1 register description. 4.1.13 received sapi register sapr read address 26 h when transparent mode 1 is selected, sapr contains the value of the first address byte of a receive frame. 0 7 rbc0 rbc1 rbc2 rbc3 rbc4 rbc5 rbc6 rbc7 0 7 0 7
semiconductor group 212 register description 4.1.14 sapi1 register sap1 write address 26 h sapi1 sapi1 value value of the first programmable service access point identifier (sapi) according to the isdn lapd protocol. cri command/response interpretation cri defines the end of the isdn user-network interface the isac-s is used on, for the correct identification of "command" and "response" frames. depending on the value of cri the c/r-bit will be interpreted by the isac-s, when receiving frames in auto-mode, as follows: for transmitting frames in auto-mode, the c/r-bit manipulation will also be done automatically, depending on the value of the cri-bit (refer to xad1 register description). in message transfer modes with sapi address recognition the first received address byte is compared with the programmable values in sap1, sap2 and the fixed group sapi. in 1-byte address mode, the cri-bit is to be set to "0". 4.1.15 receive status register rsta read address 27 h value after reset: undefined rda receive data a "1" indicates that data is available in the rfifo. after an rme interrupt, a "0" in this bit means that data is available in the internal registers rhcr or sapr only (e.g. s-frame). see also rhcr register description table. rdo receive data overflow at least one byte of the frame has been lost, because it could not be stored in rfifo (1). c/r bit command receiving end command response 0 subscriber 1 0 1network01 0 7 0 cri sapi1 0 7 ta c/r sa0 sa1 rab crc rdo rda
semiconductor group 213 register description crc crc check the crc is correct (1) or incorrect (0). rab receive message aborted the receive message was aborted by the remote station (1), i.e. a sequence of 7 1's was detected. sa1-0 sapi address identification ta tei address identification sa1-0 are significant in auto-mode and non-auto-mode with a two-byte address field, as well as in transparent mode 3. ta is significant in all modes except in transparent modes 2 and 3. two programmable sapi values (sap1, sap2) plus a fixed group sapi (sapg of value fc/fe h ), and two programmable tei values (tei1, tei2) plus a fixed group tei (teig of value ff h ), are available for address comparison. the result of the address comparison is given by sa1-0 and ta, as follows notes: l if the sapi values programmed to sap1 and sap2 are identical the reception of a frame with sap2/tei2 results in the indication sa1 = 1, sa0 = 0, ta = 1. l normally rsta should be read by the processor after an rme interrupt in order to determine the status of the received frame. the contents of rsta are valid only after an rme interrupt, and remain so until the frame is acknowledged via the rmc bit. sa1 sa0 ta 1 st byte 2 nd byte address match with x x number of address bytes = 1 x x 0 1 tei2 tei1 C C 0 0 0 0 1 1 1 number of address bytes = 2 0 0 1 1 0 0 1 0 1 0 1 0 1 x sap2 sap2 sapg sapg sap1 sap1 reserved teig tei2 teig tei1 or tei2 teig tei1
semiconductor group 214 register description sapi1 c/r command/response the c/r bit identifies a receive frame as either a command or a response, according to the lapd rules: 4.1.16 sapi2 register sap2 write address 27 h sapi2 sapi2 value value of the second programmable service access point identifier (sapi) according to the isdn lapd protocol. mcs modulo count select used in auto-mode only. this bit determines the hdlc control field format as follows: 0: one-byte control field (modulo 8) 1: two-byte control field (modulo 128) 4.1.17 tei1 register 1 tei1 write address 28 h ea address field extension bit this bit has to be set "1" according to hdlc/lapd. in all message transfer modes except in transparent modes 2 and 3, tei1 is used by the isac-s for address recognition. in the case of a two-byte address field, it contains the value of the first programmable terminal endpoint identifier according to the isdn lapd protocol. in the auto-mode with a two-byte address field, numbered frames with the address sapi1-tei1 are handled autonomously by the isac-s according to the lapd protocol. command response direction 0 1 subscriber to network 1 0 network to subscriber 0 7 0 mcs sapi2 0 7 ea tei1
semiconductor group 215 register description note: if the value ff h is programmed in tei1, received numbered frames with address sapi1-tei1 (sapi1-teig) are not handled autonomously by the isac-s. in auto and non-auto-modes with one-byte address field, tei1 is a command address, according to x.25 lapb. 4.1.18 receive hdlc control register rhcr read address 29 h in all modes except transparent modes 2 and 3, this register contains the control field of a received hdlc frame. in transparent modes 2 and 3, the register is not used. mode modulo 8 (mcs = 0) modulo 128 (mcs = 1) contents of rfifo auto-mode, 1-byte address (u/ i frames) (note 1) control field u-frames only: control field (note 2) from 3 rd byte after flag (note 4) auto-mode, 1-byte address ( i frames) control field in compressed form (note 3) from 4 th byte after flag (note 4) auto-mode, 2-byte address (u/ i frames) (note 1) control field u-frames only: control field (note 2) from 4 th byte after flag (note 4) auto-mode, 2-byte address ( i frames) control field in compressed form (note 3) from 5 th byte after flag (note 4) non-auto-mode, 1-byte address 2 nd byte after flag from 3 rd byte after flag non-auto-mode, 2-byte address 3 rd byte after flag from 4 th byte after flag transparent mode 1 3 rd byte after flag from 4 th byte after flag transparent mode 2 C from 1 st byte after flag transparent mode 3 C from 2 nd byte after flag contents of rhcr 0 7
semiconductor group 216 register description note 1: s frames are handled automatically and are not transferred to the microprocessor. note 2: for u frames (bit 0 of rhcr = 1) the control field is as in the modulo 8 case. note 3: for i frames (bit 0 of rhcr = 0) the compressed control field has the same format as in the modulo 8 case, but only the three lsb's of the receive and transmit counters are visible: note 4: i -field. 4.1.19 tei2 register tei2 write address 29 h ea address field extension bit this bit is to be set to "1" according to hdlc/lapd. in all message transfer modes except in transparent modes 2 and 3, tei2 is used by the isac- s for address recognition. in the case of a two-byte address field, it contains the value of the second programmable terminal endpoint identifier according of the isdn lapd protocol. in auto and non-auto-modes with one-byte address field, tei2 is a response address, according to x.25 lapb. 4.1.20 receive frame byte count high rbch read address 2a h value after reset: 0xx00000 2 . xac transmitter active the hdlc transmitter is active when xac = 1. this bit may be polled. the xac bit is active when C either an xtf/xif command is issued and the frame has not been completely transmitted C or the transmission of an s frame is internally initiated and not yet completed. 0 p n(r)2-0 n(s)2-0 0 7 0 7 ea tei2 0 7 rbc8 rbc9 rbc10 rbc11 ov vn0 vn1 xac
semiconductor group 217 register description vn1-0 version number of chip peb 2085 peb 2086 0 ... a1 to a2 version 0 ... v1.1 1 ... b1 version 2 ... b2 version 3 ... v2.3 (b3) version ov overflow a "1" in this bit position indicates a message longer than 4095 bytes. rbc8-11receive byte count four most significant bits of the total number of bytes in a received message. note: normally rbch and rbcl should be read by the processor after an rme interrupt in order to determine the number of bytes to be read from the rfifo, and the total message length. the contents of the registers are valid only after an rme interrupt, and remain so until the frame is acknowledged via the rmc bit. 4.1.21 status register 2 star2 read/write address 2b h value after reset: 00 h a) write mult used in nt/lt-s modes to enable or disable the multiframe structure (see chapter 2.5.1.9) 1: s/t multiframe disabled 0: s/t multiframe enabled b) read wfa waiting for acknowledge this bit shows, if the last transmitted i -frame was acknowledged, i.e. v(a) = v(s) ( t wfa = 0) or was not yet acknowledged, i.e. v(a) < v(s) ( t wfa = 1). mult the value written into the register bit is read. trec timer recovery status: 0: the device is not in the timer recovery state. 1: the device is in the timer recovery state. 0 7 0 0 mult 0 0 0 0 0 0 7 sdet trec mult wfa 0 0 0 0
semiconductor group 218 register description sdet s-frame detected: this bit is set to "1" by the first received correct i -frame or s-command with p = 1. it is reset by reading star2 or by a hardware reset.
semiconductor group 219 register description 4.2 special purpose registers: iom ? -1 mode the following register description is only valid if iom-1 mode is selected (adf2:ims = 0). for iom-2 mode refer to chapter 4.3 . 4.2.1 serial port control register spcr read/write address 30 h value after reset: 00 h important note after a hardware reset the pins sdax/sds1 and sca/fsd/sds2 are both "low" and have the functions of sds1 and sds2 in terminal timing mode (since spm = 0), respectively, until the spcr is written to for the first time. from that moment on, the function taken on by these pins depends on the state of the iom mode select bit ims (adf2 register). spu software power up used in te mode only. if adf1:cfs=1, before activating the isdn s-interface in te mode the spu-bit has to be set to "1" and then cleared again: after a subsequent cisq interrupt (c/i code change; ista) and reception of the c/i code "pu" (power up indication in te mode) the reaction of the processor would be: C to write an activate request command as c/i code in the cixr register. C to reset the spu-bit and wait for the following cisq interrupt. sac sip port activation sip port is in high impedance state (sac = 0) or operating (sac = 1). spm serial port timing mode depending on the interface mode, the following timing options are provided. 0: timing mode 0; sip (sld) operates in master mode, sca supplies the 128-khz data clock signal for port a (ssi). typical applications: te, nt modes 1: timing mode 1; sip (sld) operates in slave mode, fsd supplies a delayed frame synchronization signal for the iom interface, serial port a (ssi) is not used. typical applications: lt-t, lt-s modes 0 7 c2c0 c2c1 c1c0 c1c1 tlp spm sac spu
semiconductor group 220 register description tlp test loop when set to 1 the idp1 and idp0 lines are internally connected together, and the times t1 and t2 are reduced (cf. timr). c1c1, c1c0 channel 1 connect switching of b1 channel c2c1, c2c0 channel 2 connect switching of b2 channel 4.2.2 command/indication receive registercirr read address 31 h value after reset: 7c h sqc s/q channel change a change in the received 4-bit s channel (te or lt-t mode) or q channel (nt or lt-s mode) has been detected. the new code can be read from sqrr. this bit is reset by a read of sqrr. c1c1 application(s) c1c0 read write read 0 b1 not switched, sip looping 0 sip sip iom 0 b1 switched to/from sip 1 sip C iom 1 b1 switched to/from spa (ssi) 0 sdar C iom 1 iom looping 1 iom iom C c1r b1cr c2c1 application(s) c2c0 read write read 0 b2 not switched, sip looping 0 sip sip iom 0 b2 switched to/from sip 1 sip C iom 1 b2 switched to/from spa (ssi) 0 sdar C iom 1 iom looping 1 iom iom C c2r b2cr 0 7 0 cic0 bas sqc codr
semiconductor group 221 register description bas bus access status indicates the state of the tic-bus: 0: the isac-s itself occupies the d and c/i channel 1: another device occupies the d and c/i channel codr c/i code receive value of the received command/indication code. a c/i code is loaded in codr only after being the same in two consecutive iom frames and the previous code has been read from cirr. (refer to chapter 3.3.2) cic0 c/i code change a change in the received command/indication code has been recognized. this bit is set only when a new code is detected in two consecutive iom frames. it is reset by a read of cirr. note: the bas and codr bits are updated every time a new c/i code is detected in two consecutive iom frames. if several consecutive codes are detected and cirr is not read, only the first and the last c/i code (and bas bit) is made available in cirr at the first and second read of that register, respectively. 4.2.3 command/indication transmit registercixr write address 31 h value after reset: 3c h rss reset source select only valid if the terminal specific functions are activated (stcr:tsf). 0 : subscriber or exchange awake as reset source serves: C a falling edge on the eaw line (external subscriber awake) C a c/i code change (exchange awake). a logical zero on the eaw line activates also the iom-interface clock and frame signal, just as the spu-bit (spcr) does. 0 7 ecx tcx bac rss codx
semiconductor group 222 register description 1: watchdog timer the expiration of the watchdog timer generates a reset pulse. the watchdog timer will be reset and restarted, when two specific bit combinations are written in the adf1 register within the time period of 128 ms (see also adf1 register description). after a reset pulse generated by the isac-s and the corresponding interrupt (wov, saw or cisq) the actual reset source can be read from the ista and exir register. bac bus access control only valid if the tic-bus feature is enabled (mode:dim2-0). if this bit is set, the isac-s will try to access the tic-bus to occupy the c/i channel even if no d channel frame has to be transmitted. it should be reset when the access has been completed to grant a similar access to other devices transmitting in that iom channel. note: access is always granted by default to the isac-s/icc with tic bus address (tba2- 0, stcr register) "7", which is the lowest priority in a bus configuration. codx c/i code transmit code to be transmitted in the c/i channel (refer to chapter 3.3.2) . tcx t-channel transmit output on iom in t channel. ecx e-channel transmit output on iom in e channel. 4.2.4 monitor receive register mor read address 32 h contains the monitor data received according to the monitor channel protocol (e bit = 0). 4.2.5 monitor transmit register mox write address 32 h the byte written into mox is transmitted once in the monitor channel. 0 7 0 7
semiconductor group 223 register description 4.2.6 sip signaling code receive sscr read address 33 h value after reset: ff h only valid in timing mode 0 (spcr:spm = 0). the signaling byte received on sip can be read from this register. 4.2.7 sip signaling code transmit sscx write address 33 h value after reset: ff h significant only in timing mode 0 (spcr:spm = 0). the contents of sscx are continuously output in the signaling byte on sip (sld). 4.2.8 sip feature control read sfcr read address 34 h contains the fc data received on sip (timing mode 0 only, spcr:spm = 0). 4.2.9 sip feature control write sfcw write address 34 h the byte written into sfcw is output once on sip in the fc channel (timing mode 0 only, spcr:spm = 0). 0 7 0 7 0 7 0 7
semiconductor group 224 register description 4.2.10 channel register 1 c1r read/write address 35 h contains the value received/transmitted in the b1 channel (see c1c1, c1c0, spcr register). 4.2.11 channel register 2 c2r read/write address 36 h contains the value received/transmitted in the b2 channel (see c2c1, c2c0, spcr register). 4.2.12 b1 channel register b1cr read address 37 h contains the value received in the b1 channel, as programmed (see c1c1, c1c0, spcr register). 4.2.13 synchronous transfer control registerstcr write address 37 h value after reset: 00 h tsf terminal specific functions 0: no terminal specific functions 1 : the terminal specific functions are activated, such as C watchdog timer C subscriber/exchange awake (sip/eaw). in this case the sip/eaw line is always an input signal which can serve as a request signal from the subscriber to initiate the awake function in a terminal. 0 7 0 7 0 7 0 7 sc0 sc1 st0 st1 tba0 tba1 tba2 tsf
semiconductor group 225 register description a falling edge on the eaw line generates an saw interrupt (exir). when the rss-bit in the cixr register is zero, a falling edge on the eaw line (subscriber awake) or a c/i code change (exchange awake) initiates a reset pulse. when the rss-bit is set to one a reset pulse is triggered only by the expiration of the watchdog timer (see also cixr register description). note: the tsf-bit will be cleared only by hardware reset. tba2-0 tic bus address defines the individual address for the isac-s on the iom tic bus (see chapter 2.3.9) . this address is used to access the c/i and d channel on the iom. note: one device liable to transmit in c/i and d fields on iom should always be given the address value "7". st1 synchronous transfer 1 when set, causes the isac-s to generate an sin interrupt status (ista register) at the beginning of an iom frame. st0 synchronous transfer 0 when set, causes the isac-s to generate an sin interrupt status (ista register) at the middle of an iom frame. sc1 synchronous transfer 1 completed after an sin interrupt the processor has to acknowledge the interrupt by setting the sc1-bit before the middle of the iom frame, if the interrupt was originated from a synchronous transfer 1 (st1). otherwise an sov interrupt (exir register) will be generated. sc0 synchronous transfer 0 completed after an sin interrupt the processor has to acknowledge the interrupt by setting the sc0-bit before the start of the next iom frame, if the interrupt was originated from a synchronous transfer 0 (st0). otherwise an sov interrupt (exir register) will be generated. note: st0/1 and sc0/1 are useful for synchronizing mp accesses and receive/transmit operations.
semiconductor group 226 register description 4.2.14 b2 channel register b2cr read address 38 h contains the value received in the b2 channel, as programmed (see c2c1, c2c0, spcr register). 4.2.15 additional feature register 1 adf1 write address 38 h value after reset: 00 h wtc1, 2 watchdog timer control 1, 2 after the watchdog timer mode has been selected (stcr:tsf = cixr:rss = 1) the watchdog timer is started. during every time period of 128 ms the processor has to program the wtc1- and wtc2-bit in the following sequence: to reset and restart the watchdog timer. if not, the timer expires and a wov interrupt (exir) together with a reset pulse is ge- nerated. tem test mode in test mode (tem = 1, pfs = 0) all layer-1 functions are disabled and the isac-s behaves like an icc (peb 2070) device. pfs prefilter select these bits together determine the pre-filter delay compensation and the test mode (layer 1 disabled) of the isac-s, as follows: 0 7 itf fc1 fc2 cfs pfs tem wtc2 wtc1 0 7 wtc1 wtc2 1 0 1. 2. 0 1 tem pfs effect 0 0 no pre-filter (0 delay) 0 1 pre-filter delay compensation 520 ns 1 1 pre-filter delay compensation 910 ns 1 0 test mode (layer 1 disabled)
semiconductor group 227 register description cfs configuration select this bit determines clock relations and recovery on s/t and iom interfaces. te mode: 0: the iom interface clock and frame signals are always active, "power down" state included. the states "power down" and "power up" are thus functionally identical except for the indication: pd = 1111 and pu = 0111. with the c/i command timing (tim) the processor can enforce the "power up" state. with c/i command deactivation indication (diu) the "power down" state is reached again. however, it is also possible to activate the s-interface directly with the c/i command activate request (ar 8/10/l) without the tim command. 1: the iom interface clock and frame signals are normally inactive ("power down"). for activating the s-interface the "power up" state can be induced by software (spu-bit in spcr register). after that the s-interface can be activated with the c/i command activate request (ar 8/10/l). the "power down" state can be reached again with the c/i command deacti- vation indication (diu). note: after reset the iom interface is always active. to reach the "power down" state the cfs-bit has to be set. nt, lt-s modes: 0: in point-to-point configurations (s bus) the bit and frame clock are recovered from the received bit stream on the s-interface with the internal pll. this is to tolerate a variable bit shift of 2 to 8 bit times between the transmitted and the received frame (max distance of 1.0 ... 1.5 km). 1: in bus configurations only a fixed bit shift of 2-bit times is accepted according to ccitt (distances up to 150 m). lt-t mode: 0: cfs has to be set to "0" always.
semiconductor group 228 register description fc2,1 fsc1,2 control (te mode only) determine the polarity of the symmetrical 8-khz strobe signals fsc2 and fsc1, re- spectively: 0: high during the first half of the 125- m s frame (iom, sld, ssi), low during the se- cond half. 1: low during the first half, high during the second half. itf inter-frame time fill selects the inter-frame time fill signal which is transmitted between hdlc frames. 0: idle (continuous 1 s). 1: flags (sequence of patterns: "0111 1110") note: in te and lt-t applications with d-channel access handling (collision resolution), the only possible inter-frame time fill signal is idle (continuous 1 s). otherwise the d channel on the s/t bus cannot be accessed. 4.2.16 additional feature register 2 adf2 read/write address 39 h value after reset: 00 h ims iom mode selection iom-1 interface mode is selected when ims = 0. 4.2.17 s, q channel receive register sqrr read address 3b h value after reset: 0x h syn synchronization state. used in te/lt-t mode only (pin m1 = 0). the s/t receiver has synchronized to the received f a and m bits (1) or not (0). sqr1-4 received s/q bits te/lt-t mode (pin m1 = 0): received s bits in frames 1, 6, 11 and 16, respectively. lt-s/nt mode (pin m1 = 1): received f a bits in frames 1, 6, 11 and 16, respectively. 0 0 0 0 0 0 0 ims 0 7 sqr4 sqr3 sqr2 sqr1 syn 0 0 0 0 7
semiconductor group 229 register description 4.2.18 s, q channel transmit register sqxr write address 3b h value after reset: te/lt-t mode (pin m1 = 0) : 0f h lt-s/nt mode (pin m1 = 1) : 00 h sqie s, q interrupt enable generation of cir0: sqc status (and the accompanying cisq interrupt is enabled (1) or masked (0). sqx1-4 transmitted s/q bits te/lt-t mode (pin m1 = 0): transmitted f a bits in frames 1, 6, 11 and 16, respectively. lt-s/nt mode (pin m1 = 1): transmitted s bits in frames 1, 6, 11 and 16, respectively. sqx4 sqx3 sqx2 sqx1 sqie 0 0 0 0 7
semiconductor group 230 register description 4.3 special purpose registers: iom ? -2 mode the following register description is only valid if iom-2 is selected (adf2:ims-1). for iom-1 mode refer to chapter 4.2 . 4.3.1 serial port control register spcr read/write address 30 h value after reset: 00 h important note after a hardware reset the pins sdax/sds1 and sca/fsd/sds2 are both "low" and have the functions of sds1 and sds2 in terminal timing mode (since spm = 0), respectively, until the spcr is written to for the first time. from that moment on, the function taken on by these pins depends on the state of the iom mode select bit ims (adf2 register). spu software power up . used in te mode only. if sqxr:cfs = 1, before activating the isdn s-interface in te mode the spu and sqxr:idc bits have to be set to "1" and then cleared again: after a subsequent cisq interrupt (c/i code change; ista) and reception of the c/i code "pu" (power up indication in te mode) the reaction of the processor would be: C to write an activate request command as c/i code in the cix0 register. C to reset the spu and sqxr:idc bits and wait for the following cisq interrupt. spm serial port timing mode; 0: terminal mode; all three channels of the iom-2 interface are used application: te mode 1: non-terminal mode; the programmed iom channel (adf1:csel2-0) is used applications: lt-t, lt-s modes (8 channels structure iom-2) tlp test loop when set to 1 the idp1 and idp0 lines are internally connected together, and the times t1 and t2 are reduced (cf. timr). c2c0 c2c1 c1c0 c1c1 tlp spm 0 spu 0 7
semiconductor group 231 register description c1c1, c1c0 channel 1 connect determines which of the two channels b1 or ic1 is connected to register c1r and/or b1cr, for monitoring, test-looping and switching data to/from the processor. c2c1, c2c0 channel 2 connect determines which of the two channels b2 or ic2 is connected to register c2r and/or b2cr, for monitoring, test-looping and switching data to/from the processor. note: b-channel access is only possible in te-mode. 4.3.2 command/indication receive 0 cir0 read address 31 h value after reset: 7c h sqc s/q channel change a change in the received 4-bit s channel (te or lt-t mode) or q channel (nt or lt-s mode) has been detected. the new code can be read from the sqrr. this bit is reset by a read of the sqrr. c1c1 application(s) c1c0 read write read 0 b1 monitoring + ic1 monitoring 0 ic1 C b1 0 b1 monitoring + ic1 looping from/to iom 1 ic1 ic1 b1 1 b1 access from/to s 0 ; transmission of a constant value in b1 channel to s 0 . 0 C b1 b1 1 b1 looping from s 0 ; transmission of a variable pattern in b1 channel to s 0 . 1 b1 b1 C c1r b1cr c2c1 application(s) c2c0 read write read 0 b2 monitoring + ic2 monitoring 0 ic2 C b2 0 b2 monitoring + ic2 looping from/to iom 1 ic2 ic2 b2 1 b2 access from/to s 0 ; transmission of a constant value in b2 channel to s 0 . 0 C b2 b2 1 b2 looping from s 0 ; transmission of a variable pattern in b2 channel to s 0 . 1 b2 b2 C c2r b2cr cic1 cic0 bas sqc 0 7 codr0
semiconductor group 232 register description bas bus access status indicates the state of the tic-bus: 0: the isac-s itself occupies the d and c/i channel 1: another device occupies the d and c/i channel codr0 c/i code 0 receive value of the received command/indication code. a c/i code is loaded in codr0 only after being the same in two consecutive iom frames and the previous code has been read from cir0. ( refer to chapter 3.3.2 ) cic0 c/i code 0 change a change in the received command/indication code has been recognized. this bit is set only when a new code is detected in two consecutive iom frames. it is reset by a read of cir0. cic1 c/i code 1 change a change in the received command/indication code in iom channel 1 has been re- cognized. this bit is set when a new code is detected in one iom frame. it is reset by a read of cir0. cic1 is only used if terminal mode is selected. note: the bas and codr0 bits are updated every time a new c/i code is detected in two consecutive iom frames. if several consecutive valid new codes are detected and cir0 is not read, only the first and the last c/i code (and bas bit) is made available in cir0 at the first and se- cond read of that register, respectively. 4.3.3 command/indication transmit 0 cix0 write address 31 h value after reset: 3f h rss reset source select only valid if the terminal specific functions are activated (stcr:tsf). 0: subscriber or exchange awake as reset source serves: C a falling edge on the eaw line (external subscriber awake) C a c/i code change (exchange awake). a logical zero on the eaw line activates also the iom-interface clock and frame signal, just as the spu-bit (spcr) does. 1 1 bac rss 0 7 codx0
semiconductor group 233 register description 1: watchdog timer the expiration of the watchdog timer generates a reset pulse. the watchdog timer will be reset and restarted, when two specific bit combinations are written in the adf1 register within the time period of 128 ms (see also adf1 register description). after a reset pulse generated by the isac-s and the corresponding interrupt (wov, saw or cisq) the actual reset source can be read from the ista and exir register. bac bus access control only valid if the tic-bus feature is enabled (mode:dim2-0). if this bit is set, the isac-s will try to access the tic-bus to occupy the c/i channel even if no d channel frame has to be transmitted. it should be reset when the access has been completed to grant a similar access to other devices transmitting in that iom channel. note: access is always granted by default to the isac-s/icc with tic bus address (tba2-0, stcr register) "7", which has the lowest priority in a bus configuration. codx0 c/i code 0 transmit code to be transmitted in the c/i channel / c/i channel 0. ( refer to chapter 3.3.2 ) 4.3.4 monitor receive channel 0 mor0 read address 32 h contains the monitor data received in iom monitor channel/ monitor channel 0 according to the monitor channel protocol. 4.3.5 monitor transmit channel 0 mox0 write address 32 h contains the monitor data to be transmitted in iom monitor channel/ monitor channel 0 according to the monitor channel protocol. 4.3.6 command/indication receive 1 cir1 read address 33 h 0 7 0 7
semiconductor group 234 register description value after reset: ff h codr1 c/i code 1 receive only valid in terminal mode (spcr:spm = 0). bits 7-2 of c/i channel 1 mr1 mr bit bit 1 of c/i channel 1 mx1 mx bit bit 0 of c/i channel 1 4.3.7 command/indication transmit 1 cix1 write address 33 h value after reset: ff h codx1 c/i code 1 transmit significant only in terminal mode (spcr:spm = 0). bits 7-2 of c/i channel 1 4.3.8 monitor receive channel 1 mor1 read address 34 h used only in terminal mode (spcr:spm = 0). contains the monitor data received in iom channel 1 according to the monitor channel protocol. 4.3.9 monitor transmit channel 1 mox1 write address 34 h used only in terminal mode (spcr:spm = 0). mx1 mr1 0 7 codr1 1 1 0 7 codx1 0 7 0 7
semiconductor group 235 register description contains the monitor data to be transmitted in iom channel 1 according to the monitor channel protocol. 4.3.10 channel register 1 c1r read/write address 35 h used only in terminal mode (spcr:spm = 0). contains the value received/transmitted in iom channel b1 or ic1, as the case may be (cf. c1c1, c1c0, spcr register). 4.3.11 channel register 2 c2r read/write address 36 h used only in terminal mode (spcr:spm = 0). contains the value received/transmitted in iom channel b2 or ic2, as the case may be (cf. c2c1, c2c0, spcr register). 4.3.12 b1 channel register b1cr read address 37 h used only in terminal mode (spcr:spm = 0). contains the value received in iom channel b1, if programmed (see c1c1, c1c0, spcr register). 4.3.13 synchronous transfer control registerstcr write address 37 h value after reset: 00 h tsf terminal specific functions 0: no terminal specific functions 1: the terminal specific functions are activated, such as 0 7 0 7 0 7 sc0 sc1 st0 st1 tba0 tba1 tba2 tsf 0 7
semiconductor group 236 register description C watchdog timer C subscriber/exchange awake (sip/eaw). in this case the sip/eaw line is always an input signal which can serve as a request signal from the subscriber to initiate the awake function in a terminal. a falling edge on the eaw line generates an saw interrupt (exir). when the rss-bit in the cix0 register is zero, a falling edge on the eaw line (subscriber awake) or a c/i code change (exchange awake) initiates a reset pulse. when the rss-bit is set to one a reset pulse is triggered only by the expiration of the watchdog timer (see also cix0 register description). note: the tsf-bit will be cleared only by a hardware reset. tba2-0 tic bus address defines the individual address for the isac-s on the iom tic bus ( see chapter 2.4.6 ). this address is used to access the c/i and d channel on the iom. note: one device liable to transmit in c/i and d fields on the iom should always be given the address value "7". st1 synchronous transfer 1 when set, causes the isac-s to generate an sin interrupt status (ista register) at the beginning of an iom frame. st0 synchronous transfer 0 when set, causes the isac-s to generate an sin interrupt status (ista register) at the middle of an iom frame. sc1 synchronous transfer 1 completed after an sin interrupt the processor has to acknowledge the interrupt by setting the sc1-bit before the middle of the iom frame, if the interrupt was originated from a syn- chronous transfer 1 (st1). otherwise an sov interrupt (exir register) will be gene- rated. sc0 synchronous transfer 0 completed after an sin interrupt the processor has to acknowledge the interrupt by setting the sc0-bit before the start of the next iom frame, if the interrupt was originated from a synchronous transfer 0 (st0). otherwise an sov interrupt (exir register) will be generated.
semiconductor group 237 register description note: st0/1 and sc0/1 are useful for synchronizing mp accesses and receive/transmit operations. 4.3.14 b2 channel register b2cr read address 38 h used only in terminal mode (spcr:spm = 0). contains the value received in the iom channel b2, if programmed (see c2c1, c2c0, spcr register). 4.3.15 additional feature register 1 adf1 write address 38 h value after reset: 00 h wtc1, 2 watchdog timer control 1, 2 after the watchdog timer mode has been selected (stcr:tsf = cix0:rss = 1) the watchdog timer is started. during every time period of 128 ms the processor has to program the wtc1- and wtc2-bit in the following sequence: to reset and restart the watchdog timer. if not, the timer expires and a wov interrupt (exir) together with a reset pulse is ge- nerated. tem test mode in test mode (tem = 1, pfs = 0) all layer-1 functions are disabled and the isac ? -s behaves like an icc (peb 2070) device. pfs prefilter select 0 7 itf 0/ csel0 0/ csel1 iof/ csel2 pfs tem wtc2 wtc1 0 7 wtc1 wtc2 1 0 1. 2. 0 1
semiconductor group 238 register description these bits together determine the pre-filter delay compensation and the test mode (layer 1 disabled) of the isac-s, as follows: iof iom off. used in terminal mode (spcr:spm = 0). 0: iom interface is operational 1: iom interface is switched off (dcl, fsc1, idp0/1, bcl high impedance). note: iof should be set to "1" if external devices connected to the iom interface should be "disconnected" e.g. for power saving purposes or for not disturbing the internal iom connection between layer 2 and layer 1. however, the internal operation is indepen- dent of the iof bit. tem pfs effect 0 0 no pre-filter (0 delay) 0 1 pre-filter delay compensation 520 ns 1 1 pre-filter delay compensation 910 ns 1 0 test mode (layer 1 disabled)
semiconductor group 239 register description csel2-0 channel select. used in non-terminal mode (spcr:spm = 1). select one iom channel out of 8, where the isac-s is to receive/transmit. 000 channel 0 (first channel in iom frame) 001 channel 1 ... 111 channel 7 (last channel in iom frame) itf inter-frame time fill selects the inter-frame time fill signal which is transmitted between hdlc frames. 0: idle (continuous 1 s), 1: flags (sequence of patterns: "0111 1110") note: in te and lt-t applications with d-channel access handling (collision resolution), the only possible inter-frame time fill signal is idle (continuous 1 s). otherwise the d channel on the s/t bus cannot be accessed. 4.3.16 additional feature register 2 adf2 read/write address 39 h value after reset: 00 h ims iom mode selection iom-2 interface mode is selected when ims = 1. d2c2-0 data strobe control. used in iom-2 mode only. d1c2-0 these bits determine the polarity of the two independent strobe signals sds1 and sds2 as follows: note: x = 1 for pin sds1 or 2 for pin sds2 the strobe signals allow standard combos or data devices to access a programmable channel. d1c0 d1c1 d1c2 ods d2c0 d2c1 d2c2 ims 0 7 dxc2 sdsx dxc1 dxc0 0 always low 0 0 0 high during b1 0 1 0 high during b2 1 0 0 high during b1 + b2 1 1 1 1 1 1 0 0 1 1 0 1 0 1 always low high during ic1 high during ic2 high during ic1 + ic2
semiconductor group 240 register description note: in non-terminal mode (spcr:spm = 1) ic1, ic2 correspond to b1, b2 channels of the iom channel as programmed to (adf1:csel 2C0) +1. ods output driver selection tristate drivers (1) or open drain drivers (0) are used for the iom interface. 4.3.17 monitor status register mosr read address 3a h value after reset: 00 h mdr1 monitor channel 1 data received mer1 monitor channel 1 end of reception mda1 monitor channel 1 data acknowledged the remote end has acknowledged the monitor byte being transmitted. mab1 monitor channel 1 data abort mdr0 monitor channel 0 data received mer0 monitor channel 0 end of reception mda0 monitor channel 0 data acknowledged the remote end has acknowledged the monitor byte being transmitted. mab0 monitor channel 0 data abort 4.3.18 monitor control register mocr write address 3a h value after reset: 00 h mre1,0 monitor receive interrupt enable (iom channel 1,0) monitor interrupt status mdr1/mdr0, mer1/0 generation is enabled (1) or masked (0). mab0 mda0 mer0 mdr0 mab1 mda1 mer1 mdr1 0 7 mxc0 mxe0 mrc0 mre0 mxc1 mxe1 mrc1 mre1 0 7
semiconductor group 241 register description mrc1,0 mr bit control (iom channel 1,0) determines the value of the mr bit: 0: mr always "1". in addition, the mdr1/mdr0 interrupt is blocked, except for the first byte of a packet (if mre1/0 = 1). 1: mr internally controlled by the isac-s according to monitor channel protocol. in addition, the mdr1/mdr0 interrupt is enabled for all received bytes according to the monitor channel protocol (if mre1 0 = 1). mxe1,0 monitor transmit interrupt enable (iom channel 1,0) monitor interrupt status mda1/0, mab1/0 generation is enabled (1) or masked (0). mxc1,0 mx bit control (iom channel 1,0) determines the value of the mx bit: 0: mx always "1". 1: mx internally controlled by the isac-s according to monitor channel protocol. 4.3.19 s, q channel receive register sqrr read address 3b h value after reset: 0x h idc read-back of programmed idc bit (see sqxr register) cfs read-back of programmed cfs bit (see sqxr register) ci1e read-back of programmed ci1e bit (see sqxr register) syn synchronization state used in te/lt-t mode only (pin m1 = 0). the s/t receiver has synchronized to the received f a and m bits (1) or has not (0). sqr1-4 received s/q bits te/lt-t mode (pin m1 = 0): received s bits in frames 1, 6, 11 and 16, respectively. lt-s/nt mode (pin m1 = 1): received f a bits in frames 1, 6, 11 and 16, respectively. sqr4 sqr3 sqr2 sqr1 syn ci1e cfs idc 0 7
semiconductor group 242 register description 4.3.20 s, q channel transmit register sqxr write address 3b h value after reset: te/lt-t mode (pin m1 = 0): 0f h lt-s/nt mode (pin m1 = 1): 00 h idc iom direction control terminal mode (spcr:spm = 0): 0: master (normal) mode layer 2 transmits iom channel 0 and 2 on idp1, channel 1 on idp0. 1: slave (test) mode layer 2 transmits iom channel 0, 1 and 2 on idp1. non-terminal mode (spcr:spm = 1): 0: normal mode monitor, d- and c/i channels are transmitted on idp1 from layer 2 to layer 1. 1: reversed (test) mode monitor, d- and c/i channels are transmitted on idp0 from layer 2 to the system. note: also refer to chapter 2.4.2 cfs configuration select this bit determines clock relations and recovery on s/t and iom interfaces. te mode 0: the iom interface clock and frame signals are always active, "power down" state included. the states "power down" and "power up" are thus functionally identical except for the indication: pd = 1111 and pu = 0111. with the c/i command timing (tim) the processor can enforce the "power up" state. with c/i command deactivation indication (diu) the "power down" state is reached again. however, it is also possible to activate the s-interface directly with the c/i command activate request (ar 8/10/l) without the tim command. sqx4 sqx3 sqx2 sqx1 sqie ci1e cfs idc 0 7
semiconductor group 243 register description 1: the iom interface clock and frame signals are normally inactive power down"). for activating the s-interface the "power up" state can be induced by software (spu-bit in spcr register). after that the s-interface can be activated with the c/i command activate request (ar 8/10/l). the "power down" state can be reached again with the c/i command deactivation indication (diu). note: after reset the iom interface is always active. to reach the "power down" state the cfs-bit has to be set. lt-s mode: 0: in point-to-point configurations (s-bus) the bit and frame clock are recovered from the received bit stream on the s-interface with the internal pll. this is to tolerate a variable bit shift of 2- to 8-bit times between the transmitted and the received frame (max distance of 1.0 ... 1.5 km). 1: in bus configurations only a fixed bit shift of 2-bit times is accepted according to ccitt (distances up to 150 m). ( also refer to chapter 2.5.5 ) lt-t mode: c fs has to be set to "0" always. ci1e c/i channel 1 interrupt enable interrupt generation of cir0:cic1 is enabled (1) or masked (0). sqie s, q interrupt enable generation of cir0:sqc status (and the accompanying cisq interrupt is enabled (1) or masked (0). sqx1-4 transmitted s/q bits te/lt-t mode (pin m1 = 0): transmitted f a bits in frames 1, 6, 11 and 16, respectively. lt-s/nt mode (pin m1 = 1): transmitted s bits in frames 1, 6, 11 and 16, respectively.
semiconductor group 244 electrical characteristics 5 electrical characteristics absolute maximum ratings note: stresses above those listed here may cause permanent damage to the device. exposure to absolute maximum rating conditions for extended periods may affect device reliability. line overload protection the maximum input current (under overvoltage conditions) is given as a function of the width of a rectangular input current pulse ( figure 82 ). figure 82 test condition for maximum input current parameter symbol limit values unit voltage on any pin with respect to ground v s C 0.4 to v dd + 0.4 v ambient temperature under bias t a 0 to 70 c storage temperature t stg C 65 to 125 c maximum voltage on v dd v dd 6 v its02336 i t condition: all other pins grounded t wi r isac -s
semiconductor group 245 electrical characteristics transmitter input current the destruction limits for negative input signals are given in figure 83 r i 3 2 w . figure 83 the destruction limits for positive input signals are given in figure 84 . r i 3 200 w . figure 84 itd02337 0.05 0.5 5 50 10 -10 -9 10 -8 10 -7 10 -6 10 -5 10 -4 10 -3 10 -2 10 -1 10 1 s a wi t i 1 10 100 itd02340 0.05 0.5 5 50 10 -10 -9 10 -8 10 -7 10 -6 10 -5 10 -4 10 -3 10 -2 10 -1 10 1 s a w1 t i
semiconductor group 246 electrical characteristics receiver input current the destruction limits are given in figure 85 . r i 3 300 w . figure 85 itd02338 0.005 5 10 -10 -4 10 -1 10 1 s a w1 t i 0.01 0.1 1
semiconductor group 247 electrical characteristics dc characteristics t a = 0 to 70 c; v dd = 5 v 5 %, v ssa = 0 v, v ssd = 0 v parameter symbol limit values unit test condition remarks min max l-input voltage v il C 0.4 0.8 v all pins except sx1,2, sr1,2 h-input voltage v ih 2.0 v dd +0.4 v l-output voltage l-output voltage (idp0) v ol v ol1 0.45 0.45 v v i ol = 2 ma i ol = 7 ma h-output voltage h-output voltage v oh v oh 2.4 v dd C0.5 v v i oh = C 400 m a i oh = C 100 m a power supply current power down i cc 1.5 ma v dd =5v inputs at v ss / v dd no output loads except sx1,2 (50 w load) oper- ational (96 khz) 15 ma dcl = 512 khz 17 ma dcl = 1536 khz 22 ma dcl = 4096 khz emergency b1 = ff h , b2 = ff h , d = 1 7.7 ma dcl = 1536 khz b1 = ff h , b2 = ff h , d = flag 7.95 ma dcl = 1536 khz b1 = 55 h , b2 = ff h , d = flag 8.75 ma dcl = 1536 khz b1 = 00 h , b2 = ff h , d = flag 10 ma dcl = 1536 khz input leakage current output leakage current i li i lo 10 10 m a m a 0v < v in < v dd to 0 v 0v < v out < v dd to 0 v all pins except cp/bcl, x2, sx1,2, sr1,2, a0, a1, a3, a4
semiconductor group 248 electrical characteristics note: 1) due to the transformer, the load resistance seen by the circuit is four times r l . capacitances t a =25c, v dd =5v 5%, v ssa =0v, v ssd =0v, f c =1 mhz, unmeasuredpins groun ded. input leakage current internal pull-down i lipd 120 m a0v < v in < v dd to 0 v a0, a1, a3, a4, cp/bcl, x2 absolute value of output pulse amplitude (vsx2Cvsx1) v x 2.03 2.10 2.31 2.39 v v r l = 50 w 1) r l = 400 w 1) sx1,2 transmitter out- put current i x 7.5 13.4 ma r l = 5.6 w 1) transmitter out- put impedance r x 10 0 k w w inactive or during binary one during binary zero r l = 50 w receiver output voltage v sr1 2.35 2.6 v i o < 5 m a sr1,2 receiver threshold voltage v sr2 C v sr1 v tr 225 375 mv dependent on peak level dc characteristics t a = 0 to 70 c; v dd = 5 v 5 %, v ssa = 0 v, v ssd = 0 v (forts.) parameter symbol limit values unit test condition remarks min max unit pf pf pf pf parameter symbol load capacitance c l input capacitance i /o capacitance c in c i /o output capacitance against v ssa c out 50 7 7 10 remarks min. max. limit values pf input capacitance c in 7 xtal1,2 all pins except sr1,2, xtal1,2 sx1,2 sr1,2
semiconductor group 249 electrical characteristics recommended oscillator circuits figure 86 oscillator circuits crystal specification note: the load capacitance c l depends on the recommendation of the crystal specification. typical values for c l are 22 33 pf. its00764 7.68 mhz xtal1 2 xtal xtal 2 1 xtal n.c. oscillator external signal crystal oscillator mode driving from external source 18 19 19 18 pf 33 33 pf c l l c unit pf ppm parameter symbol load capacitance c l max. 50 frequency calibration tolerance max. 100 oscillator mode fundamental limit values mhz frequency f 7.680
semiconductor group 250 electrical characteristics xtal1 clock characteristics (external oscillator input) ac characteristics t a = 0 to 70 c, v dd = 5 v 5% inputs are driven to 2.4 v for a logical "1" and to 0.4 v for a logical "0". timing measurements are made at 2.0 v for a logical "1" and 0.8 v for a logical "0". the ac testing input/output waveforms are shown in figure 87. figure 87 input/output waveform for ac tests parameter duty cycle 1:2 2:1 min. max. limit values its00621 = 150 load c test under device 0.45 2.4 2.0 0.8 0.8 2.0 test points pf
semiconductor group 251 electrical characteristics microprocessor interface timing siemens/intel bus mode figure 88 microprocessor read cycle figure 89 microprocessor write cycle figure 90 multiplexed address timing itt00712 rd x cs ad0 - ad7 t rd data t df rr tt ri a0 - a7 itt00713 wr x cs ad0 -ad7 t dw data t wd ww tt wi d0 - d7 itt00714 wr x cs ad0 - ad7 t la cs x rd or address ale t als t al t aa t ad
semiconductor group 252 electrical characteristics figure 91 non-multiplexed address timing motorola bus mode figure 92 microprocessor read timing figure 93 microprocessor write cycle itt00715 wr x cs a0 - a5 t ah t as address cs x rd or itt00716 cs x ds d0 - d7 t rd data t df dsd t rr t t ri r/w t rwd
semiconductor group 253 electrical characteristics figure 94 non-multiplexed address timing microprocessor interface timing itt00718 cs x ds ad0 t ah t as - ad5 unit ns ns ns ns ns parameter symbol ale pulse width t aa 50 address setup time to ale t al 15 address hold time from ale t la 10 address setup time t as 25 address hold time t ah 10 min. max. limit values ns address latch setup time to wr , rd t als 0 ns ale guard time t ad 15 ns ds delay after rw setup t dsd 0 ns rd pulse width t rr 110 ns data output delay from rd t rd 110 ns data float from rd t df 25 ns rd control interval t ri 70 ns w pulse width t ww 60 ns data setup time to w cs t dw 35 ns data hold time from w cs t wd 10 ns w control interval t wi 70
semiconductor group 254 electrical characteristics serial interface timing figure 95 iom ? timing (te mode) itd00871 t fsd t iis iih t t iod bcd t bcd t sdd t (o) fsc1 dcl (o) ( ) idp0 / 1 (o) sds1 (o) bcl i / 2 / 2 idp0 / 1 (o)
semiconductor group 255 electrical characteristics figure 96 iom ? timing (lt-s, lt-t, nt mode) iom ? timing t fss t fsh t fsw fsc dcl ( i ) ( i ) 1/2 t fdd fsd (o) 0/1 ( i ) idp iih t iis t (o) 0/1 idp bit 0 bit 0 sdd t sds1/2 (o) t iod itd00872 unit ns ns ns ns ns ns ns parameter symbol iom output data delay t iod 20 20 iom input data setup t iis 4+ t wh 20 iom input data hold t iih 20 strobe signal delay t sdd bit clock delay t bcd C20 140 100 120 20 min. max. limit values ns fsc1/2 strobe delay t fsd C20 20 ns frame sync setup t fss 50 ns frame sync hold t fsh 30 ns frame sync width t fsw 40 ns fsd delay t fdd 20 140 test condition iom-1 iom-2 iom-1 iom-2
semiconductor group 256 electrical characteristics hdlc mode (adf2: ims = 0, adf1: tem = 1, mode: dim2 C 0 = 101 C 111) figure 97 fsc1 (strobe) characteristics hdlc mode timing unit ns ns ns ns ns parameter symbol fsc1 set-up time t fs1 100 fsc1 hold time t fh1 30 output data from high impedance to active t ozd output data delay from dcl t odd 20 input data setup t is 10 80 100 min. max. limit values ns output data from active to high impedance t odz 40 ns input data hold t dh 30
semiconductor group 257 electrical characteristics serial port a (ssi) timing figure 98 ssi timing (te, timing mode 0) serial port a (ssi) timing itd00873 t scd t ssh t scd t sss t ssd t fsd b2( b1 ) channel * b1( b2 ) channel * sca sdar sdax o * default polarity individual b-channel switching to the b1- selected by programming the output polarity of fsc1 and fsc2 in the adf1 register dcl (0) := output or b2 channel can be (0) 1/2 fsc unit ns ns ns ns parameter symbol sca clock delay t scd 20 ssi data delay t ssd 20 ssi data setup t sss 40 fsc1/2 strobe delay t fsd C20 140 140 20 min. max. limit values ns ssi data hold t ssh 20
semiconductor group 258 electrical characteristics sld timing figure 99 sld timing (te mode) figure 100 sld timing (lt-s / lt-t mode) sld timing itd00874 sld sld t sls slh t sld t t fsd dcl (0) (i/o) sip in out (0) 1/2 fsc itd00875 t fss t fsh t fsw t sld t slh t sls fsc dcl sip (i/o) (i) (i) 1 unit ns ns ns ns ns parameter symbol sld data delay t sld 20 sld data setup t sls 30 sld data hold t slh 30 frame sync setup t fss 50 frame sync hold t fsh 30 140 min. max. limit values ns fsc1/2 strobe delay t fsd C20 20 ns frame sync width t fsw 40
semiconductor group 259 electrical characteristics clock timing the clocks in the different operating modes are summarized in tables 25 C 27 , with the respective duty ratios. table 25 isac ? - s clock signals (iom ? -1 mode) table 26 isac ? - s clock signals (iom ? -2 mode) dclk application m1 m0 o:512 khz* 1:2 i:512 khz i:512 khz i:512 khz te lt-t lt-s nt 0 0 1 1 0 1 0 1 fsc1/2 o:8 khz* 1:1 i:8 khz i:8 khz i:8 khz cp o:1536 khz* 3:2 o:512 khz* 1:2 C C x1 o:3840 khz 1:1 C o:7680 khz 1:1 C dcl application m1 m0 o:1536 khz* 3:2 i:4096 khz i:4096 khz i:512 khz te lt-t lt-s nt 0 0 1 1 0 1 0 1 fsc1 fsc2 o:8 khz* 1:2 i:8 khz i:8 khz i:8 khz i:8 khz i:8 khz i:8 khz x1 C C o:7680 khz 1:1 C sds1/2 o:8 khz 1:11 2:10 o:8 khz 1:11 2:10 o:8 khz 1:11 2:10 o:8 khz 1:11 2:10 cp/bcl o:768 khz* 1:1 o:512 khz* 1:2 C C * ) synchronous to receive "s" line
semiconductor group 260 electrical characteristics the 1536-khz clock (te mode) and the 512-khz clock (lt-t mode) are phase-locked to the receive s signal, and derived using the internal dpll and the 7.68 mhz 100 ppm crystal. a phase tracking with respect to "s" is performed once in 250 m s. as a consequence of this dpll tracking, the "high" state of the 1536-khz clock may be either reduced or extended by one 7.68-mhz period (duty ratio 2:2 or 4:2 instead of 3:2) once every 250 m s. since the other signals are derived from this clock (te mode), the "high" or "low" states may likewise be reduced or extended by the same amount once every 250 m s. the phase relationships of the clocks are shown in figure 101. figure 101 phase relationships of isac ? - s clock signals the timing relationships between the clocks are specified in figure 98 and table 28 . itd00876 7.68 mhz khz 1536 768 khz * synchronous to receive s/t. duty ratio 3:2 normally * 3840 khz x1 : khz 512
semiconductor group 261 electrical characteristics figure 102 timing relationships between isac ? - s clock signals itd02393 cp dcl bcl fsc1/2 sds1/2 t bcd t bcd fcp t t fsd sbd t t ssd dcd t dcd t dcl r (iom -1) -2) (iom r (iom -1) r
semiconductor group 262 electrical characteristics table 27 tables 29 to 33 give the timing characteristics of the clocks. figure 103 definition of clock period and width table 28 dcl clock characteristics (iom ? - 1) unit ns ns ns ns ns parameter symbol bit clock delay t bcd C20 sds1/2 delay from dcl t sdd sds1/2 delay from bcl t sbd fsc1/2 delay from cp t fcp 0 fsc1/2 delay from dcl t fsd C20 20 120 120 50 20 min. max. limit values ns dcl delay from cp t dcd 050 conditions iom-2 iom-2 iom-2 iom-1 iom-1 iom-1 itt00723 t wh wl t t p 3.5 v v 0.8 unit ns ns ns ns ns parameter symbol (te) 512 khz t po 1822 (te) 512 khz 1:2 t who 470 (te) 512 khz 1:2 t wlo 1121 (nt, lt-s, lt-t) t whi 200 (nt, lt-s, lt-t) t wli 200 2084 832 1483 min. max. limit values ns (nt, lt-s, lt-t) t pi 1853 2053 test condition osc 100 ppm osc 100 ppm osc 100 ppm 1953 651 1302 typ.
semiconductor group 263 electrical characteristics table 29 dcl clock characteristics (iom ? -2) note: for nt characteristics, see iom-1 case. table 30 cp clock characteristics (iom ? -1 te mode) table 31 cp clock characteristics (lt-t mode) table 32 x1 clock characteristics (te mode) unit ns ns ns ns ns parameter symbol (te) 1536 khz t po 520 t who 240 t wlo 240 t whi 100 t wli 100 782 541 281 min. max. limit values ns (lt-s, lt-t) 4096 khz t pi 240 test condition osc 100 ppm osc 100 ppm osc 100 ppm 651 391 260 typ. 244 unit ns ns ns parameter symbol (te) 1536 khz t po 520 t who 240 t wlo 240 782 541 281 min. max. limit values test condition osc 100 ppm osc 100 ppm osc 100 ppm 651 391 260 typ. unit ns ns ns parameter symbol (lt-t) 512 khz t po 1822 t who 470 t wlo 1121 2084 832 1483 min. max. limit values test condition osc 100 ppm osc 100 ppm osc 100 ppm 1953 651 1302 typ. unit ns ns ns parameter symbol (te) 3840 khz t po C 100 ppm t who 120 t wlo 120 100 ppm 140 140 min. max. limit values test condition osc 100 ppm osc 100 ppm osc 100 ppm 260 130 130 typ.
semiconductor group 264 electrical characteristics table 33 x1 clock characteristics (lt-s mode) jitter in te mode, the timing extraction jitter of the isac-s conforms to ccitt recommendation i.430 (C 7% to + 7% of the s-interface bit period). in the nt and lt-s applications, the clock input dcl is used as reference clock to provide the 192-khz clock for the s-line interface. in the case of a plesiochronous 7.68-mhz clock generated by an oscillator, the clock dcl should have a jitter less than 100 ns peak-to-peak. (in the case of a zero input jitter on dcl the isac-s generates at most 130 ns "self-jitter" on the s interface.) in the case of a synchronous *) 7.68-mhz clock (input xtal1), the isac-s transfers the input jitter of xtal1, dcl and fsc1 to the s interface. the maximum jitter of the nt/lt-s output is limited to 260 ns peak-to-peak (ccitt i.430). description of the transmit pll (xpll) of the isac ? - s function of the xpll the xpll generates a 1.536-mhz clock synchronized to the dcl 512-khz clock by modification of the counter's divider ratio. the 1.536-mhz clock is then divided to 192 khz and 512 khz. the 512 khz is used as the looped back clock and compared to the 512-khz dcl in the phase detector. a four bit up/down counter integrates the phase information to prevent tracking steps in presence of high frequency input jitter (see figure 99) . jitter considerations in case of a synchronous 7.68-mhz clock after the xpll has locked once, no more tracking steps are performed because there is a fixed divider ratio of 15 between 7.68 mhz and dcl. therefore the input jitter at dcl and 7.68 mhz is transferred transparently to the s/t interface (192 khz). jitter considerations in case of a plesiochronous 7.68-mhz clock (crystal) each tracking step of the xpll produces an output jitter of 130 ns pp. in case of non-zero input jitter at dcl, this input jitter is increased by 130 ns pp. however, if the input jitter frequency is high enough (in the range of 25 khz and higher) the four bit up/dn counter works as a loop filter and thus the xpll attenuates the input jitter to zero. unit ns ns ns parameter symbol (lt-s) 7680 khz t po C 100 ppm t who t wlo 100 ppm min. max. limit values test condition osc 100 ppm osc 100 ppm osc 100 ppm 130.21 65 65 typ. *) fixed divider ratio between xtal1 and dcl
semiconductor group 265 electrical characteristics that means that the output jitter will not exceed 130 ns pp. in the intermediate range of jitter frequency, the degree of jitter attenuation lies between zero and the maximum ( see figure 105 ). figure 104 block diagram of xpll figure 105 jitter transfer curve of xpll its02394 divider : divider divider phase detector up/down counter lag lead up down dcl 5 1 8 3 dcl 8 512 khz 1.536 mhz 7.68 mhz 192 khz 512 khz dcl : : : r (iom -1 mode) (iom -2 mode) r itd02395 0 20 40 attenuation sinusoidal jitter frequency db 1hz hz 10 hz 100 khz 1 10 khz 25 khz 100 khz 1 mhz
semiconductor group 266 peb 2086 description of the receive pll (rpll) of the isac-s the receive pll performs phase tracking each 250 m s after detecting the phase between the f/l transition of the receive signal and the recovered clock. phase adjustment is done by adding or subtracting 130 ns to or form a 1.536-mhz clock cycle. the 1.536-mhz clock is than used to generate any other clock synchronized to the line. during (re)synchronization an internal reset condition may effect the 1.536-mhz and 512-khz clocks to have high or low times as short as 130 ns. after the s/t interface frame has achieved the synchronized state (after three consecutive valid pairs of code violations) the fsc output in te mode is set to a specific phase relationship, thus causing once an irregular fsc timing. reset table 34 reset signal characteristics figure 106 unit ms parameter symbol length of active high state t rst 4 2 dcl clock cycles min. limit values test condition power on/power down to power up (standby) during power up (standby) itd02396 rst t rst
semiconductor group 267 peb 2086 timing characteristics of peb 2086 specific functions external trigger for the s-frame synchronization (lt-s, nt-mode) figure 107 external trigger for the s-frame synchronization parameter symbol limit values unit min. max. frame sync setup t fss 50 ns frame sync hold t fsh 30 ns frame sync width t fsw 40 ns m-bit input setup t mis 50 ns m-bit input hold t mih 30 ns dcl(i) fsc1(i) x2(i) timing (lt-s mode) t fsh itt03237 cp(i) fsw t t fss mih t t mis r iom
semiconductor group 268 peb 2086 multiframe synchronization output (te-mode) figure 108 multiframe synchronization output parameter symbol limit values unit min. max. fsc 1/2 strobe delay t fsd C 20 20 ns m-bit width t wd 80 m s m-bit delay to dcl t md 150 ns dcl(o) fsc1(o) x2(o) timing (te-mode) t fsd md t itt03238 t wd r iom
semiconductor group 269 peb 2086 frame relationship and multiframe synchronization in lt-s, nt-mode please see chapter 2.3.1 for differences between timing mode 0 and timing mode 1. timing mode 0 the timing relationship between the iom-interface and the s/t-interface in iom-1 timing mode 0 is shown in figure 109 . figure 109 frame relationship in timing mode 0 1) internal delays are dependent on temperature, v dd and fabrication parameters. parameter symbol limit values s-interface to fsc-delay t sfd 16 m s 300 ns 1) 130 ns (jitter) 1 0 0 dl. l. b1 edaf n a b2 m d e b1 b2 eds l. f d e nt to te fsc2(i) x2(i) idp1(i) itd03736 cp(i) t sfd b1 b2 b1 b2 f l.
semiconductor group 270 peb 2086 timing mode 1 in timing mode 1, cp(i) and x2(i) occur 1/8 125 m s earlier together with fsc 1. figure 110 frame relationship in timing mode 1 1) internal delays are dependent on temperature, v dd and fabrication parameters. parameter symbol limit values s-interface to fsc-delay t sfd 16 m s 300 ns 1) 130 ns (jitter) 1 0 0 d l.f l. b1 ed a f n a m d e b2 eds l. f d e nt to te fsc2(i) x2(i) idp1(i) itd03737 fsc1(i) t sfd b1 b2 b1 b2 t sfd cp(i) b2 e frame period 1 / 8 period frame 1 / 8 b2 b1 l.
semiconductor group 271 electrical characteristics frame relationship in te-mode the relationship between the s/t-interface and the iom-interface in te iom-1 mode is shown in figure 111 . the pin x2 provides the m-bit during bits 0 through 23 and 26 through 31 of an iom-frame. it is recommended to sample the state of the m-bit with the falling edge of fsc 1. at bit positions 24 and 25, the d-echo-bits appear according to the peb 2085 functionality. figure 111 frame relationship in te-mode 1) internal delays are dependent on temperature, v dd and fabrication parameters. the values may be reduced after evaluation. parameter symbol limit values s-interface to iom-delay t sid 121 m s 300 ns 1) 260 ns (jitter) iom-interface to s-delay t isd 4 m s 300 ns 1) 260 ns (jitter) 1 0 0 dfl. b1 edaf n a b2 m d e eds e b1 b2 t sid nt to te fsc(o) x2(o) idp0(o) itd03738 b2 b1 m i+2 m i+1 m i+1 i+2 m i+1 m m i t isd ee l. b1 b2 l. f l. d
semiconductor group 272 low level controller 6isac ? -s low level controller the following paragraphs outline the functionality and structure of a software driver example for the isac-s. this example is based on the siemens low level controllers (llcs) for basic access ic which are available in c source code. the isac-s software driver will be also referred to as llc or isac-s llc. it should be noted that the isac-s llc does not access the complete palette of device funtions but rather a subset of them. for example not all message transfer modes are supported. please refer to paragraph architecture and functions for a more detailed description. the isac-s llc presented here has been successfully tested in the siemens isdn pc development system. correct operation with a higher layer software has been verified by using the siemens isdn software development and evaluation system (sides) and the siemens isdn operational software (ios). 6.1 architecture and functions the isac-s llc may be divided into two major parts, one for layer 1 control, the sbc part and one for directing the hdlc controller operations, the icc part. the naming conventions sbc part and icc part have been introduced because the low level controllers (llcs) for basic access ics use the same code to control either an isac-s or and icc - sbc(x) combination. the isac-s llc consists of driver functions and interrupt server . the driver functions are implemented as a set of c functions which are responsible for interpreting hardware related commands from the higher layers and carrying out the appropriate actions at the hardware level. driven by hardware interrupts, the interrupt server analyses the hardware event and informs the higher software layers of that event. it should be noted that this implementation has attempted to remove as many protocol specific functions as possible from the llc and to locate them instead in the higher layer protocol itself. this has the advantage of making the llc- more general and less likely to be in need of re- programming for different protocols.
semiconductor group 273 low level controller operating system and higher level protocol software figure 112 llc architecture the isac-s llc supports following standard functions: C initialization of the sbc (layer 1) part. C activation of layer 1. C deactivation of layer 1. hdlc controller initialization. the following hdlc controller message transfer modes are supported: automode: full two byte address compare, lapd support. non-automode: full two byte address compare. transparent mode 3: high byte address compare; called 'transparent' mode in the llc. transparent mode 2: no address compare; called 'extended transparent' mode in the llc. hdlc framing with two byte address field is assumed. its02392 hdlc controller related functions driver functions icc part icc part sbc part sbc part layer-1 functions function calls . . . status/ error messages received frames mmu service requests interrupt server evaluation of interrupt cause r isac -s te
semiconductor group 274 low level controller C hdlc frame transmission. C programming of tei and sapi values. C hdlc transceiver control. C interrupt handling. C local test loop switching. C b-channel switching in iom-1 configurations. te configurations in iom-1 / iom-2 mode and nt-s configurations (iom-1 only) are supported. in addition to the isac-s standard functions supporting the isdn basic access, the isac-s contains optional, terminal specific functions. these terminal specific functions (watchdog and external awake) are not supported by this llc. 6.2 summary of llc functions 6.2.1 layer 1 related functions mnemonic purpose actl1_sbc layer-1 activation. deal1_sbd layer 1 deactivation. arll1_sbc activation of a local loop. enaclk_sbc enable clocking in power down mode. initl1_sbc layer-1 initialization and reset. resl1_sbc layer-1 reset. intl1_sbc handling of cisq interrupts. the layer 1 related functions call decode_l1_status to report a l1 status change to a higher layer software. 6.2.2 hdlc controller related functions mnemonic purpose initlay2_icc hdlc controller initialization. loop_icc testloop activation at the serial outputs of the iom interface. resethdlc_icc hdlc transceiver reset. recready_icc setting the hdlc receiver ready or not ready. sendframe_icc hdlc frame transmission. storesapi_icc sapi programming. storetei_icc tei programming. switchb_icc b-channel switching to ssi or sld interface in iom1 configurations. int_icc handling of xpr, rsc, tin and exi interrupts. rx_icc handling of rpf and rme interrupts.
semiconductor group 275 low level controller 6.2.3 external functions the llc program listing shows some references to external functions (indicated by an 'import' declaration). these functions are used by the llc but are not part of it. these external functions must be provided by the operating system or a higher layer protocol software. mmu_req () by calling mmu_req the isac-s llc requests memory for the temporary storage of a received data frame. the memory management unit (mmu) of the operating system has to provide a memory buffer of the required size (max. 260 bytes). mmu_free () mmu_free is the counterpart to mmu_req. the operating system can release a previously allocated memory buffer. string_in () and string_out () string_in and string_out are assembler written functions for fast input and output of data frames from/to the isac-s fifo. enternoint () and leavenoint () enternoint and leavenoint are called to disable and enable all system interrupts in time critical sections. decode_s_frame_basic () decode_s_frame_basic is called by the llc interrupt server to transfer a received hdlc s frame to a higher layer protocol software. following information is passed to decode_s_frame_basic: 'pei': 1 byte value identifying the performed address recognition. the bits 0, 1 and 2 of 'pei' represent the bits ta, sa0 and sa1 of the isac-s' rsta register. 'sapi': 1 byte value representing the received hdlc sapi address byte. bit 1 of 'sapi' is the c/r bit value (rsta:cr). the most significant 6 bits of 'sapi' are 0 in auto-mode, non-auto-mode and transparent mode. 'tei': 1 byte value representing the received hdlc tei address byte. 'tei' is 0 in auto-mode and non-auto-mode. 'ctrl': 2 byte value representing the contents of the received hdlc control field. 'frame_status': 1 byte value = 0 00: frame is valid. = 0 80: frame is mutilated (last byte of two byte control field missing). = 0 82: frame is too long. s-frame with i-field. 'm128': 1 byte value. 0 in modulo 8 operating mode (1 byte control field), 1 in modulo 128 operating mode (2 byte control field). for correct decoding of 'ctrl' above.
semiconductor group 276 low level controller decode_u_frame_basic () decode_u_frame_basic is called by the llc interrupt server to transfer a received hdlc u frame to a higher layer protocol software. following information is passed to decode_u_frame_basic: 'pei': (refer to decode_s_frame). 'sapi': (refer to decode_s_frame). 'tei': (refer to decode_s_frame). 'ctrl': 1 byte value representing the contents of the received hdlc control field. passlongframe_basic () passlongframe_basic is called by the llc interrupt server to transfer received hdlc i and ui frames to a higher layer protocol software. the llc passes a pointer to a structure (frame_pass) containing information about the received frame to passlongframe_basic. please refer to the following paragraph for a description of this structure.
semiconductor group 277 low level controller 6.3 llc code elements 6.3.1 structures the structure 'peitab' as the various routines in the llc require facilities to store information about the device they control, information structures have been introduced. one of these structures is named peitab. a variable of type peitab contains all relevant information about the hdlc controller and l1 part. the llc uses the external function getpeitab_basic to get a pointer to the corresponding peitab variable. the following section deals with the important elements of peitab. status information pt_op_mode operating mode of the isac-s hdlc controller (auto-mode, non- auto-mode) pt_state flags of 'pt_state' indicate the various device states. pt_modulmode hardware configuration (te or nt-s) i/o buffer related elements these elements are used when the hdlc data is transmitted or received. in both the transmit and receive directions additional ram is required to store data on an intermediate basis. this buffer will be referred to as the data frame. related information is stored in the following elements: transmit buffer pointers pt_tx_start pointer to the starting point of the data frame for transmission pt_tx_curr pointer to the present byte to be sent receive buffer pointers pt_rx_start pointer to the starting point of the receive data frame. pt_rx_curr pointer to the next free position in the receive buffer. data byte counters pt_tx_cnt number of bytes yet to be transmitted pt_rx_cnt number of bytes currently received the following elements are used to store the type of frame: pt_rx_frame type of received frame. pt_tx_frame type of transmitted frame. register addresses are contained in those structure elements which have the prefix pt_r followed by the register mnemonic. for example pt_r_fifo contains the address of the isac-s xfifo/rfifo, pt_r_mode the address of the isac-s mode register, etc.
semiconductor group 278 low level controller the structure 'frame_pass' the variable 'fp' of the type frame_pass is used when the llc interrupt server has received a valid hdlc i or ui frame. a pointer to 'fp' is passed to passlongframe_basic. frame_pass contains all information about the received hdlc frame. following elements are used: mmu_buff start of mmu buffer which is used for the temporary storage of that hdlc frame. start_of_i_data start of the i data field in this mmu buffer. i_data_cnt number of bytes in the i data field. two_byte_cf 0 for a one byte hdlc control field, 1 for a two byte hdlc control field. ctrl_field hdlc control field. pei 1 byte value identifying the performed address recognition. the bits 0, 1 and 2 of 'pei' represent the bits ta, sa0 and sa1 of the isac-s' rsta register. frame type of hdlc frame; 0 = i -frame, 1 = u i -frame. sapi received hdlc sapi address byte. bit 1 of 'sapi' is the c/r bit value (rsta:cr). the most significant 6 bits of 'sapi' are 0 in auto-mode, non- auto-mode and transparent mode. tei received hdlc tei address byte. 'tei' is 0 in auto-mode and non-auto mode. 6.3.2 definitions and naming conventions all expressions in capital letters are definitions contained in the include files def.h, conf.h and basic.h. these include files are not part of the following c source listing. isac-s llc specific definitions are explained in the following paragraphs. public functions are declared with an export (only for better readability). external functions are imported using an import which is the redefinition of c's 'extern'. any function which is only used locally is declared with a local (= 'static'). 6.3.2.1 type definitions for reference here is a list of the type definitions used in the llc's. type definitions meaning byte one byte value word word = two byte value fptr far pointer to byte
semiconductor group 279 low level controller 6.3.2.2 macro definitions error conditions and other states of the isac-s must be reported to higher layers. this reporting is realized by a few macros which are executed when such conditions are detected. these macros can be mapped to any form of message a higher layer software requires. any kind of immediately necessary actions may be defined in those macros as well. by using such constructs the code can be kept compact and clearly readable. layer 1 related status message decode_l1_status for l1 status (ic channel indication) decoding. hdlc controller related status and error messages crc_error crc error. missing_acknowledge a 'missing hdlc i -frame acknowledge' is generated when an acknowledge message for a previously sent i -frame is outstanding and the hdlc message transfer mode is changed from auto-mode to non- auto-mode. an outstanding acknowledge is indicated by the isac-s in register star2 ('timer recovery status' and 'waiting for acknowledge' bits). mmu_error no memory available to store incoming frame. n201_error n201 error, hdlc frame is too long. peer_rec_ready peer receiver ready. peer_rec_busy peer receive busy. protocol_error protocol error (pce interrupt). rec_frame_overflow receive frame overflow. rec_data_overflow receive data overflow (rdo interrupt). rec_aborted receive aborted (rab interrupt). tx_acknowledge transmit frame acknowledge. tin_error tin interrupt, status enquiry. tx_data_underrun transmit data underrun (xdu interrupt). xmr_error transmit message repeat indication (xmr interrupt). following macros are used when a 'timer recovery status' (register star2, bit trec) is recognized. enable_trec_status_check enable 'timer recovery status' check procedure. disable_trec_status_check disable 'timer recovery status' check procedure.
semiconductor group 280 low level controller 6.3.2.3 register bit definitions to facilitate reading and debugging of the code, the bits of many registers are defined as follows: the definitions #define ista_rme (byte)0x80 #define ista_rpf (byte)0x40 #define ista_rsc (byte)0x20 #define ista_xpr (byte)0x10 #define ista_tin (byte)0x08 #define ista_cic (byte)0x04 #define ista_sin (byte)0x02 #define ista_exi (byte)0x01 specify the bits of the isac-s interrupt status register (ista). 6.4 interrupts int_icc is to be called in the case of isac-s interrupts. the following interrupts are handled directly in int_icc: 'transmit pool ready' interrupt (ista:xpr) 'timer' interrupt (ista:tin). 'receive status change' interrupt (ista:rsc). 'extended' interrupt (ista:exi). the 'receive pool full' (ista:rpf) and 'receive message end' (ista:rme) interrupts are handled by function rx_icc. the 'ci or sq channel change' interrupt (ista:cisq) is handled by intl1_sbc. please note that the following interrupts are not handled by the interrupt service routine described here: ista:sin (synchronous transfer interrupt) exir:sov (synchronous transfer overflow) exir:mos (monitor status) is handled by external functions which are not part of this description. exir:saw (subscriber awake) exir:wov (watchdog timer overflow)
semiconductor group 281 low level controller 6.5 llc routine reference 6.5.1 isac ? -s layer-1 functions: the sbc part actl1_sbc () initiates layer-1 activation. the appropriate ci code (activate request) is written to the ci channel if the layer 1 is not already activated. actl1_sbc then returns with ack_done. the subsequent status changes of the sbc will cause ci channel status change (cisq) interrupts and these will be evaluated in the layer-1 interrupt service routine intl1_sbc. if the layer 1 is already activated nothing is carried out but actl1_sbc calls decode_l1_status to report the activated state. deal1_sbc () initiates layer 1 deactivation. the appropriate ci code is written to the ci channel if the layer 1 is not already deactivated. the subsequent layer 1 status changes cause ci channel status change (cisq) interrupts and these will be evaluated in the layer 1 interrupt service routine intl1_sbc. if the layer 1 is already deactivated nothing is carried out but deal1_sbc calls decode_l1_status to report the deactivated state. arl1_sbc () activates a local loop in the sbc. the appropriate ci code (activate request loop) is written to the sbc. arl1_sbc returns with ack_done. the subsequent status changes of the sbc will generate cisq interrupts and these will be evaluated and reported in the layer-1 interrupt service routine intl1_sbc. enaclk_sbc () enaclk_sbc enables clocking in te configurations when the layer 1 is in power down state. if first tests if clocks are actually there. if there are clocks the function returns with false. if there are no clocks (power down state) the power-up procedure is implemented. the spu bit in register spcr is set. the tim code is written to the ci channel. enaclk_sbc waits until the power up state (pu) is indicated before the spu bit is reset to 0. the routine then returns with true. initl1_sbc () initializes and resets the layer-1 controller (resl1_sbc). timing mode 0 is set and the tic bus address is also programmed.
semiconductor group 282 low level controller resl1_sbc () this routine resets the layer 1 part of an isac-s. it also checks that the layer 1 part is operating correctly. reset procedure: a software reset command (rs) is sent to the layer 1 part via the iom ci0 channel. resl1_sbc waits for the expected new state (ei) if no timeout condition occurs and issues a release command (diu). if the new state (ei) is not observed the isac-s layer 1 part will be deemed to be defective. intl1_sbc () interrupt handler handles the cisq interrupts which indicate changes in the layer 1 status. the final confirmation of deactivation is carried out here. the actual layer 1 state is evaluated by reading register cir0. the following is then carried out: if the ci channel indication is 'pending deactivation' state (dr), diu is sent to deactivate the layer 1. if the indication is an 'activation indication' (ai) the activation must be confirmed from the te side. intl1_sbc does it automatically by writing an 'activation request' (ar). in this way this requirement of the isac-s is transparent to the higher protocol layers. after every ci channel status change interrupt (cisq) decode_l1_status is called to report the current layer-1 state. 6.5.2 isac ? -s hdlc controller related functions: the icc part initpeitab_icc () initializes the local variable 'pt'. initpeitab_icc is to be called once during the system initialization phase. initlay2_icc () initializes the hdlc controller. the function arguments allow the selection of the hdlc controller message transfer mode (auto-mode, non-auto-mode, ...), one or two byte hdcl control field operation (modulo 8 or 128) and the setting of the isac-s internal hardware timer. after initlay2_icc is called the tei values for a broadcast link are programmed (tei = ff hex). the hdlc controller is not reset. storetei_icc () storetei_icc is used to program a tei value in register tei1 or tei2 depending on the function argument value.
semiconductor group 283 low level controller storesapi_icc () storesapi_icc is used to program a sapi value in register sap1 or sap2 depending on the function argument value. recready_icc () sets hdlc receiver ready or not ready depending on the function argument value. resethdlc_icc () resethdlc_icc resets the hdlc controller. status flags of the local variable 'pt' indicating any on-going data transmissions or receptions are reset and memory buffers are released. sendframe_icc () sendframe_icc initiates the transmission of hdlc frames (s, u, i, ui frames). a frame can not be sent if the transmit path is still in use, i.e. if the previous transmission is not finished, if the timer recovery state is indicated (only for i frames) or if the xfifo is blocked (star:xfw bit). if the transmission is begun the interrupt handler (int_icc) will handle subsequent tasks, for example shifting remaining data bytes into the xfifo or calling the mmu to release the memory buffer. loop_icc () switches testloop at the iom interface on or off, i.e. connects internally the data upstream and data downstream lines. this is achieved through setting/resetting the tlp bit in register spcr. if the layer-1 part does not deliver clocks while in the deactivated state the clocks will be enabled when the loop is switched on by means of enableclk_basic. in the siemens low level controllers for basic access ics enableclk_basic is a function pointer which addresses enaclk_sbc if an isac-s or sbc(x) is used. when the loop is switched off the layer 1 part will return to its normal deactivated state. switchb_icc () switches the b-channels in iom1 configurations to the ssi or sld interface or back to network. register spcr is used.
semiconductor group 284 low level controller int_icc () interrupt handler evaluates and handles the isac-s interrupts. interrupt service procedure: the bits of the interrupt status register ista are scanned. xpr, tin, rsc, and exi interrupts are handled directly by int_icc. for rpf and rme interrupts the function rx_icc is called, for cisq interrupts intl1_sbc is called. the interrupt related actions performed are: C xpr(transmit pool ready) interrupt, but no tin and no pce (exir:pce) interrupt: a) hdlc controller reset was given previously. b) last transmission is finished. the xfifo will be loaded if there are more bytes to be sent. if not, a 'transmit frame acknowledge' can be generated (if depends on the message transfer mode and some other conditions). C tin interrupt: the hdlc controller's internal timer has expired (in auto-mode only). C rsc (receiver status change of remote station) interrupt: a status change of the remote station's receiver has been detected. this is reported to the higher layers. C exi (extended) interrupt: one of the six non-critical interrupts has been generated. the exact cause is read from register exir and reported to the higher layers. rx_icc () interrupt handler handles the receive pool full and receive message end (rpf and rme) interrupts if tin and pce (exir:pce) interrupt are not indicated. received frames are handed over to the higher software levels. errors detected during the frame reception are reported to the higher layers. rpf interrupt: 32 data bytes are in the rfifo. the end of the received frame is yet to be received and the message is not complete. rme interrupt: the receive message is complete. the rfifo contains the last bytes of a frame greater than 32 bytes long or a complete frame. in the case of a long frame the beginning of this frame will already have been received using the rpf interrupt. address and control field information is examined, the type of frame (hdlc u, ui, i or s-frame) is determined and the validity of the frame is checked. finally the frame or a error condition message is sent to the higher layers. check_trec_status_icc () check_trec_status_icc () is called periodically by the operating system, if 'timer recovery status' (star2:trec) was detected during a previous xpr interrupt handling. a 'transmit frame acknowledge' for an hdlc i -frame is generated if the trec status is left and no timer interrupt (ista:tin) is indicated.
semiconductor group 285 low level controller 6.6 listing of driver routines /***************************************************************************/ /* */ /* siemens isdn-userboard (c) 1987-1993 */ /* ====================== */ /* */ /* firmware: driver functions for icc/isac-s/isac-p */ /* file : icc.c */ /* */ /***************************************************************************/ /* include files */ /* ============= */ #include "def.h" #include "basic.h" #include "message.h" /* import functions */ /* ================ */ /* from crt0.asm */ import void string_in (); import void string_out (); /* from basic00.c */ import peitab *getpeitab_basic (); /* from basic_l1.c */ import void intlay1_basic (); import void resetlay1_basic (); import int enableclk_basic (); /* from basic_l2.c */ import void passlongframe_basic (); import void decode_s_frame_basic (); import void decode_u_frame_basic (); /* from mmu.c */ import int mmu_free (); import fptr mmu_req (); /* from mofc.c */ import int intmon_mofc (); import int wr_intmon_mofc (); /* export functions */ /* ================ */ export int assign_icc (); export void check_trec_status_icc (); export int initlay2_icc ();
semiconductor group 286 low level controller export void initpeitab_icc (); export void int_icc (); export int loop_icc (); export int switchb_icc (); export int recready_icc (); export int resethdlc_icc (); export int storetei_icc (); export int storesapi_icc (); export int sendframe_icc (); /* local functions */ /* =============== */ local void rx_icc (); /* variables */ /* ========= */ import unsigned int interrupt_act; /* function declarations */ /* ===================== */ /***************************************************************************/ /* */ /* function: initpeitab_icc () */ /* parms : '*pt' pointer to the assigned peitab array element */ /* 'base' address of detected icc/isac */ /* purpose : initialization of the peitab elemtn for an icc / isac-s */ /* */ /***************************************************************************/ export void initpeitab_icc (pt, base) register peitab *pt; io_port base; { byte version; io_port reg_rbch = base + icc_rbch; /* read the icc/isac-s (isac-p) */ /* version number */ /* 0 for versions a1, a2, .. */ /* 1 and greater for versions */ /* 2.x [bx] (x=1,2,3,4) and later */ version = inp (reg_rbch); /* and set the device identifier */ if (version != 0) /* accordingly */ { if (pt->pt_device == pt_icc) pt->pt_device = pt_icc_b; if (pt->pt_device == pt_isac_s)
semiconductor group 287 low level controller pt->pt_device = pt_isac_s_b; } pt->pt_io_base = base; /* store the base (io) address */ /* the following structure */ /* elements store the register io */ /* addresses (e.g. for fifos, ista, */ /* mask, etc.) */ pt->pt_r_fifo = base + icc_fifo; pt->pt_r_ista = base + icc_ista; pt->pt_r_mask = base + icc_mask; pt->pt_r_star = base + icc_star; pt->pt_r_cmdr = base + icc_cmdr; pt->pt_r_mode = base + icc_mode; pt->pt_r_timr = base + icc_timr; pt->pt_r_exir = base + icc_exir; pt->pt_r_xad1 = base + icc_xad1; pt->pt_r_xad2 = base + icc_xad2; pt->pt_r_sap1 = base + icc_sap1; pt->pt_r_sap2 = base + icc_sap2; pt->pt_r_rsta = base + icc_rsta; pt->pt_r_tei1 = base + icc_tei1; pt->pt_r_tei2 = base + icc_tei2; pt->pt_r_rhcr = base + icc_rhcr; pt->pt_r_spcr = base + icc_spcr; pt->pt_r_stcr = base + icc_stcr; pt->pt_r_cixr = base + icc_cixr; /* = cix0/cir0 in later versions */ pt->pt_r_monr = base + icc_monr; /* = mox0/mor0 in later versions */ pt->pt_r_adfr = base + icc_adfr; /* = adf1 in later versions */ pt->pt_r_rbcl = base + icc_rfbc; /* = rbcl in later version */ pt->pt_r_rbch = base + icc_rbch; pt->pt_r_mox1 = base + icc_mox1; pt->pt_r_mocr = base + icc_mocr; /* = mosr (read access) */ pt->pt_r_cix1 = base + icc_cix1; /* cix1 and cir1 register */ pt->pt_r_adf2 = base + icc_adf2; pt->pt_r_rfbc = base + icc_rfbc; pt->pt_r_sfcr = base + icc_sfcr; pt->pt_r_sscx = base + icc_ssgx; pt->pt_r_sqxr = base + isac_sqxr; /* s/q channel transmit and */ /* receive register */ /* star2 register */ pt->pt_r_star2 = base + icc_str2; disable_trec_status_check (); } /***************************************************************************/ /* */ /* function : initlay2_icc () */ /* parameters: */ /* */
semiconductor group 288 low level controller /* 'pei' 0x00 d-channel controller */ /* 0x40 b-channel controller (a) */ /* 0x80 b-channel controller (b) */ /* */ /* 'modulo' 0 modulo 8 operation */ /* 1 modulo 128 operation */ /* */ /* 'mode' operating mode. (automode, non automode, etc.) */ /* */ /* 'tim_mode' value for the timr register (valid in auto mode only) */ /* refer to the description of that register in the */ /* data sheets. */ /* */ /* purpose: initialization of an iccs (isac-..) hdlc controller part. */ /* after execution of initlay2_icc, the tei values for */ /* the broadcast link are programmed. */ /* */ /* note: no hdlc controller reset is done. */ /* only two byte address fields are supported */ /* */ /* if the icc (isac) is reprogrammed from automode to non - automode */ /* the successful transmission and acknowledgement of an i-frame */ /* currently sent is not assured. */ /* switching from automode to non automode causes an i frame to be */ /* transmitted completely by the icc. but the transmit acknowledge */ /* (xpr interrupt) in non automode only indicates that the icc has */ /* sent the frame out of its xfifo. it indicates not the successful */ /* transmission of the i-frame as it is in automode (timer super- */ /* vision, polling for acknowledge frames)! */ /* therefore if an i-frame is outstanding and the mode is changed */ /* from automode to non-automode missing_acknowledge is called to */ /* generate a warning message. */ /* missing_acknowledge is also called if 'timer recovery' status */ /* (trec) or 'waiting for acknowledge (wfa)' is indicated. */ /* */ /***************************************************************************/ export int initlay2_icc (pei, modulo, mode, tim_mode) byte pei, modulo, mode, tim_mode; { byte mode_reg; register peitab *pt; if (!(pt = getpeitab_basic (pei))) /* request pointer to the */ /* corresponding peitab table */ /* element */ return (ack_not_supported); if (modulo != 0 && modulo != 1) return (ack_wrong_parm); outp (pt->pt_r_mask, 0xff); /* no interrupts during init. */ mode_reg = inp (pt->pt_r_mode) & (mode_hmd2 | mode_hmd1 | mode_hmd0); switch (mode) /* select operating mode */
semiconductor group 289 low level controller { /* ******************* */ case pt_md_auto: /* hdlc auto mode */ /* full address recognition, */ /* internal timer mode, receiver */ /* active, 2 bytes address fields */ /* are selected. */ mode_reg |= (mode_tmd | mode_rac | mode_adm); outp (pt->pt_r_timr, tim_mode); break; case pt_md_non_auto: /* hdlc non auto mode */ /* full address recognition, */ /* receiver active, 2 byte address */ /* fields */ mode_reg |= (mode_mds0 | mode_rac | mode_adm); if (((pt->pt_op_mode == pt_md_auto) && (pt->pt_state & pt_tx_active) && (pt->pt_tx_frame == pt_fr_i)) || (inp(pt->pt_r_star2) & (star2_trec | star2_wfa))) { missing_acknowledge (pei); resethdlc_icc (pei); } outp (pt->pt_r_timr, 0); break; case pt_md_transp: /* transparent mode */ /* sapi-address (high-byte) */ /* recognition */ mode_reg |= (mode_mds1 | mode_mds0 | mode_rac | mode_adm); break; case pt_md_ext_transp: /* extended transparent mode */ case pt_md_clear_ext: /* as well as clear mode */ /* no address recognition */ mode_reg |= (mode_mds1 | mode_mds0 | mode_rac); break; default: outp (pt->pt_r_mask, 0x00); return (ack_wrong_parm); } pt->pt_op_mode = mode; /* save mode register settings */ /* modulo: 1 (mod 128); 0 (mod 8) */ outp (pt->pt_r_sap2, (byte) (modulo ? 0x02 : 0x00)); outp (pt->pt_r_tei2, 0xff); if (modulo) pt->pt_state |= pt_m128; else pt->pt_state &= ~pt_m128; outp (pt->pt_r_mode, mode_reg);
semiconductor group 290 low level controller outp (pt->pt_r_mask, 0x00); return (ack_done); } /***************************************************************************/ /* */ /* function: storetei_icc () */ /* parms : 'pei', 'tei' and 'reg2' */ /* purpose : program tei in register tei1 (reg2 = 0) or tei2 (reg2 = 1) */ /* */ /***************************************************************************/ export int storetei_icc (pei, tei, reg2) byte pei, tei, reg2; { register peitab *pt; if (!(pt = getpeitab_basic (pei))) return (ack_not_supported); if (reg2 == 1) /* store tei in register tei2 */ outp (pt->pt_r_tei2, tei); else { /* store tei in register tei1 */ outp (pt->pt_r_xad2, tei); outp (pt->pt_r_tei1, tei); } return (ack_done); } /***************************************************************************/ /* */ /* function: storesapi_icc () */ /* parms : pei, sapi, reg2 */ /* purpose : store sapi in register sapi1 (reg2 = 0) or sapi2 */ /* (reg2 = 1) */ /* */ /***************************************************************************/ export int storesapi_icc (pei, sapi, reg2) byte pei, sapi, reg2; { register peitab *pt; if (!(pt = getpeitab_basic (pei))) return (ack_not_supported); sapi &= ~0x03; if (reg2 == 1) /* store sapi in sap2 */ outp (pt->pt_r_sap2, sapi | ((pt->pt_state & pt_m128) ? 0x02 : 0x00)); else { /* store sapi in sap1 */ outp (pt->pt_r_xad1, sapi); if ((pt->pt_modulmode == pt_mm_nt) || (pt->pt_modulmode == pt_mm_lt_s)) sapi |= 0x02;
semiconductor group 291 low level controller outp (pt->pt_r_sap1, sapi); } return (ack_done); } /***************************************************************************/ /* */ /* function: recready_icc () */ /* parms : pei, ready */ /* purpose : set hdlc receiver ready ('ready'= 1) */ /* not ready ('ready'= 0) */ /* to be used in auto mode only */ /* */ /***************************************************************************/ export int recready_icc (pei, ready) byte pei, ready; { register peitab *pt; if (!(pt = getpeitab_basic (pei))) return (ack_not_supported); outp (pt->pt_r_cmdr, (byte) (ready ? 0x00 : cmdr_rnr)); return (ack_done); } /***************************************************************************/ /* */ /* function: resethdlc_icc () */ /* parms : pei */ /* purpose : reset hdlc controller */ /* */ /***************************************************************************/ export int resethdlc_icc (pei) byte pei; { register peitab *pt; if (!(pt = getpeitab_basic (pei))) return (ack_not_supported); outp (pt->pt_r_mask, 0xff); /* clear receive and transmit */ /* paths, i.e. clear the status */ /* variables indicating any */ /* transmission or reception of */ /* frames and release the mmu */ /* buffers */ free_tx_path (pt->pt_pei); if (pt->pt_rx_start) { mmu_free (pt->pt_rx_start); pt->pt_rx_start = null_ptr;
semiconductor group 292 low level controller pt->pt_state &= ~pt_rec_active; pt->pt_rx_frame = 0x00; pt->pt_rx_cnt = 0; } pt->pt_state &= ~pt_rec_active; /* set the reset flag in the state */ /* variable. this allows the */ /* interrupt service routine to */ /* react correctly on the following */ /* xpr interrupt */ pt->pt_state |= pt_hdlc_reset; /* the reset commands: */ /* - receive message complete (rme) */ /* - reset hdlc receiver (rhr) */ /* - transmitter reset (xres)*/ outp (pt->pt_r_cmdr, cmdr_rmc | cmdr_rhr | cmdr_xres); if (pt->pt_op_mode == pt_md_auto) /* write timr register to stop the */ /* internal timer in automode */ outp (pt->pt_r_timr, inp(pt->pt_r_timr)); outp (pt->pt_r_mask, 0); /* now allow all interrupts again */ return (ack_done); } /***************************************************************************/ /* */ /* function: sendframe_icc () */ /* parms : 'pei' */ /* 'frame_type' specifying the frame */ /* 'cnt' number of bytes to send */ /* 'frame_ptr' pointer to the data bytes */ /* */ /* purpose : initiate transmission of hdlc frames ( s, u, i, ui ) */ /* */ /***************************************************************************/ export int sendframe_icc (pei, frame_type, cnt, frame_ptr) byte pei, frame_type; word cnt; fptr frame_ptr; { register peitab *pt; byte cmd; if (!(pt = getpeitab_basic (pei))) return (ack_not_supported); /* return if xfifo is not write */ /* enable */ if (!(inp (pt->pt_r_star) & 0x40)) return (ack_access_fault); /* return if transmit path still */ /* blocked and not in automode */
semiconductor group 293 low level controller if (pt->pt_state & pt_tx_active && pt->pt_op_mode != pt_md_auto) return (ack_access_fault); if (pt->pt_op_mode == pt_md_auto) { /* it is not allowed to send an i */ /* frame in the timer recovery */ /* or in waiting_for_acknowledge */ /* status */ if (inp(pt->pt_r_star2) & (star2_trec | star2_wfa)) if (frame_type == pt_fr_i) return (ack_access_fault); if (inp(pt->pt_r_star2) & star2_wfa) if (pt->pt_state & pt_tx_mmu_free) { mmu_free (pt->pt_tx_start); pt->pt_state &= ~pt_tx_mmu_free; } } pt->pt_state |= pt_tx_active; /* transmitter is active */ pt->pt_tx_start = frame_ptr; /* store data frame pointer */ pt->pt_tx_frame = frame_type; /* and frame type */ if (cnt <= 32) { /* if the number of bytes is <=32 */ /* the frame can be shifted */ /* completely into the xfifo */ string_out (frame_ptr, pt->pt_r_fifo, cnt); pt->pt_tx_cnt = 0; } else { /* if the number of bytes is */ /* greater 32 the first 32 are */ /* shifted into the xfifo, the */ /* remaining are sent later */ /* (interrupt service routine) */ string_out (frame_ptr, pt->pt_r_fifo, 32); pt->pt_tx_cnt = cnt - 32; pt->pt_tx_curr = frame_ptr + 32; } /* compute the command byte for */ /* the cmdr register: */ /* in automode the 'transmit i */ /* frame' command must be used */ /* when it is an hdlc i frame. */ /* the 'transmit transparent */ /* frame' command must be used in */ /* all other cases */ if (pt->pt_op_mode == pt_md_auto) { cmd = (pt->pt_tx_frame == pt_fr_i) ? cmdr_xif : cmdr_xtf;
semiconductor group 294 low level controller if (inp (pt->pt_r_star) & cmdr_rnr) cmd |= cmdr_rnr; } else cmd = cmdr_xtf; /* when the frame fits completely */ /* into the xfifo the xme command */ /* must be given */ if (!pt->pt_tx_cnt) cmd |= cmdr_xme; outp (pt->pt_r_cmdr, cmd); /* now output the command byte to */ /* the cmdr register */ /* ui frame sent while waiting for */ /* ackowledge in automode (an id */ /* check response ui frame) */ /* the flag is checked by the */ /* interrupt service routine when */ /* handling the next xpr interrupt. */ if (inp(pt->pt_r_star2) & star2_wfa && pt->pt_op_mode == pt_md_auto && frame_type == pt_fr_ui) pt->pt_state |= ui_sent_while_waiting_for_ack; return (ack_done); } /***************************************************************************/ /* */ /* function: loop_icc () */ /* parms : 'pei' */ /* 'on' 1 -> test-loop on */ /* 0 -> test-loop off */ /* purpose: switch testloop at the iom interface on/off */ /* */ /***************************************************************************/ export int loop_icc (pei, on) byte pei; boolean on; { peitab *pt_dch; byte r_spcr; register peitab *pt; if (!(pt = getpeitab_basic (pei))) return (ack_not_supported); pt_dch = getpeitab_basic (0); if (on) /* loop on */ { pt->pt_state |= pt_loop; /* enable clocks in te mode */ if (pt->pt_modulmode == pt_mm_te)
semiconductor group 295 low level controller { /* dummy value in the cixr register */ /* prevents a false interpretation of*/ /* the incoming (looped) c/i channel */ if (enableclk_basic (pt_dch)) outp (pt_dch->pt_r_cixr, 0x6f); } r_spcr = inp (pt->pt_r_spcr); outp (pt->pt_r_spcr, r_spcr | spcr_tpl); } else /* loop off */ { r_spcr = inp (pt->pt_r_spcr) & ~spcr_tpl; outp (pt->pt_r_spcr, r_spcr); pt->pt_state &= ~pt_loop; } return (ack_done); } /***************************************************************************/ /* */ /* function: switchb_icc () */ /* purpose : switch the b-channels in iom1 configurations */ /* to the ssi or sld interface or back to network */ /* */ /***************************************************************************/ export int switchb_icc (pei, chan_ctrl, sip_act) byte pei, chan_ctrl; boolean sip_act; { register peitab *pt; byte r_spcr; if (!(pt = getpeitab_basic (pei))) return (ack_not_supported); if (chan_ctrl > 0x0f) return (ack_wrong_parm); if (!(pt->pt_state & pt_iom2)) { r_spcr = inp (pt->pt_r_spcr) & 0xf0; if (sip_act) /* activate sip ? */ r_spcr |= spcr_sac; /* yes: set sac bit */ else r_spcr &= ~spcr_sac; /* no: clear sac bit */ outp (pt->pt_r_spcr, r_spcr | chan_ctrl); } return (ack_done); }
semiconductor group 296 low level controller /* *** the interrupt service routines *** */ /************************************************************************/ /***************************************************************************/ /* */ /* function: int_icc () */ /* parms :'pt' pointer to the corresponding peitab-table element */ /* purpose : handle icc (isac-s, isac-p) interrupts */ /* int_icc is called from intserv_basic in basic_l2.c which */ /* is sipb system specific. */ /* */ /***************************************************************************/ export void int_icc (pt) register peitab *pt; { word cnt; byte exir, cmd; register byte ista; if (!(ista = inp (pt->pt_r_ista))) return; exir = inp (pt->pt_r_exir); /* xpr interrupt */ /* ============= */ /* the xpr interrupt indicates */ /* that the xfifo is ready for new */ /* data bytes. */ /* reasons: */ /* - hdlc controller reset */ /* (cmdr:xres) */ /* - data transmission finished */ if ((ista & ista_xpr) && !(ista & ista_tin) && !(exir & exir_pce)) { /* transmit byte count is 0 */ /* ------------------------ */ if ((cnt = pt->pt_tx_cnt) == 0) { /* hdlc controller reset command */ /* given previously ? */ /* ----------------------------- */ /* do nothing when it was a hdlc */ /* controller reset only the */ /* indicating flag must be cleared */ if (pt->pt_state & pt_hdlc_reset) pt->pt_state &= ~pt_hdlc_reset; else { /* xpr was generated because the */ /* last transmission is finished */ /* ------------------------------ */ /* automode operation ? */
semiconductor group 297 low level controller if (pt->pt_op_mode == pt_md_auto) { /* ui frame sent while waiting for */ /* i frame acknowledge ? */ if (pt->pt_state & ui_sent_while_waiting_for_ack) { /* the ui frame was sent out if the */ /* xfifo is empty (write enable) */ if (inp(pt->pt_r_star) & star_xfw) tx_acknowledge (pt->pt_pei, pt->pt_tx_frame); pt->pt_state &= ~ui_sent_while_waiting_for_ack; /* if we are in timer recovery */ /* status the trec status check */ /* procedure is activated. the */ /* transmit acknowledge for the i */ /* frame must not be generated !!! */ if (inp (pt->pt_r_star2) & star2_trec) enable_trec_status_check (); else tx_acknowledge (pt->pt_pei, (byte) pt_fr_i); } else { /* if we are in timer recovery */ /* status and the last frame was an */ /* i frame the trec status check */ /* procedure is activated. */ /* if not an transmit acknowledge */ /* is generated */ if (pt->pt_tx_frame == pt_fr_i && (inp (pt->pt_r_star2) & star2_trec)) enable_trec_status_check (); else tx_acknowledge (pt->pt_pei, pt->pt_tx_frame); } } else /* in all other operating modes */ /* (non automode, transparent mode, */ /* ...) the transmit acknowledge */ /* can be generated at once. */ tx_acknowledge (pt->pt_pei, pt->pt_tx_frame); /* transmit byte count and status */ /* flag are reset and any */ /* mmu buffer used for temporary */ /* transmit data storage is */ /* released if necessary */ pt->pt_tx_cnt = 0; pt->pt_state &= ~pt_tx_active; if (pt->pt_state & pt_tx_mmu_free) { mmu_free (pt->pt_tx_start);
semiconductor group 298 low level controller pt->pt_state &= ~pt_tx_mmu_free; } } } else { /* transmit count is not 0 */ /* more data to be sent ! */ /* ------------------------ */ if (pt->pt_op_mode == pt_md_auto) cmd = (pt->pt_tx_frame ? cmdr_xtf : cmdr_xif) | (inp(pt->pt_r_star) & cmdr_rnr); else cmd = cmdr_xtf; /* less than 32 bytes left ? */ if (pt->pt_tx_cnt <= 32) { /* shift all bytes into the xfifo */ /* and give xme command */ string_out (pt->pt_tx_curr, pt->pt_r_fifo, cnt); pt->pt_tx_cnt = 0; outp (pt->pt_r_cmdr, cmd | cmdr_xme); } else { /* more than 32 bytes are left to */ /* be sent; write 32 into the xfifo */ string_out (pt->pt_tx_curr, pt->pt_r_fifo, 32); outp (pt->pt_r_cmdr, cmd); /* give the transmit command, */ pt->pt_tx_curr += 32; /* update current buffer pointer */ pt->pt_tx_cnt -= 32; /* and counter of remaining bytes */ } } } if (ista & ista_tin) /* tin interrupt */ { /* ============= */ /* resethdlc_icc (pt->pt_pei); */ disable_trec_status_check (); tin_error (pt->pt_pei); } /* hdlc receiver interrupt ? */ /* ========================= */ /* (receive pool full or receive */ /* message end and not pce and not */ /* tin) */ if ((ista & (ista_rpf | ista_rme)) && !(exir & exir_pce) && !(ista & ista_tin)) rx_icc (ista & ista_rpf, pt); /* status change of the remote */ /* station's receiver */ /* (i.e. rr or rnr received). */ /* the status can be determined by */ /* reading the rrnr bit of */ /* register star */
semiconductor group 299 low level controller if (ista & ista_rsc) { if (inp (pt->pt_r_star) & 0x10) peer_rec_busy (pt->pt_pei); /* peer receiver busy */ else peer_rec_ready (pt->pt_pei); /* peer receiver ready */ } /* b (2.x) versions of l1 device */ /* controllers can't prevent cic bit*/ /* being set even when masked. */ /* cic interrupt ? (layer 1 device */ /* status change) */ if ((ista & ista_cic) && !interrupt_act) intlay1_basic (pt); if (ista & ista_exi) /* extended interrupt ? */ { /* ================== */ /* transmit message repeat int. ? */ if ((exir & exir_xmr) && !(exir & exir_pce) && !(ista & ista_tin)) { xmr_error (pt->pt_pei); free_tx_path (pt->pt_pei); } if (exir & exir_xdu) /* transmit data underrun ? */ { tx_data_underrun (pt->pt_pei); free_tx_path (pt->pt_pei); } if (exir & exir_pce) /* protocol error interrupt ? */ { /* resethdlc_icc (pt->pt_pei); */ protocol_error (pt->pt_pei); } if (exir & exir_rfo) /* receive frame overflow int. ? */ { mmu_free (pt->pt_rx_start); pt->pt_rx_start = null_ptr; pt->pt_state &= ~pt_rec_active; pt->pt_rx_frame = 0; pt->pt_rx_cnt = 0; rec_frame_overflow (pt->pt_pei); } if (exir & exir_mor) /* mon channel interrupt ? */ if (interrupt_act) intmon_mofc (); else wr_intmon_mofc ();
semiconductor group 300 low level controller } } /***************************************************************************/ /* */ /* function: rx_icc () */ /* parms : 'pt' pointer to the assigned peitab array element */ /* 'rpf' = 1 if rpf interrupt */ /* purpose : handle interrupts generated by the receiver of an */ /* icc (isac-s, isac-p) */ /* */ /***************************************************************************/ local void rx_icc (rpf, pt) boolean rpf; register peitab *pt; { word reccnt, ctrl; fptr ptr; byte pei = pt->pt_pei; byte rsta, tei, sapi, frame_status = valid; boolean two, autom, cr_of_i_valid = true; /* rpf interrupt: */ /* 32 bytes of a frame longer than */ /* 32 bytes have been received */ /* and are now available in the */ /* rfifo. */ /* the message is not complete. */ if (rpf) reccnt = 32; else { /* rme interrupt: */ /* receive message end. the rfifo */ /* contains a complete frame */ /* (length <= 32 byte) or the last */ /* bytes or a frame (length > 32) */ /* ================================ */ /* read byte count register(s) to */ /* get the number of currently */ /* received bytes */ /* please note that icc / isac-s */ /* version axx had only one byte */ /* count register !!! */ if (pt->pt_device == pt_icc || pt->pt_device == pt_isac_s) reccnt = (byte) inp (pt->pt_r_rfbc); else reccnt = (word) inp (pt->pt_r_rbcl) | (word) (inp (pt->pt_r_rbch) & 0x0f) << 8; if (reccnt && !(reccnt &= 0x1f)) reccnt = 32; } /* 'reccnt' now contains the number */ /* of bytes actually received */
semiconductor group 301 low level controller /* was receiver active before or is */ /* the rpf/rme for a new incoming */ /* frame ? */ if (!(pt->pt_state & pt_rec_active)) { if (reccnt > 0) { if (rpf) pt->pt_rx_curr = pt->pt_rx_start = mmu_req (266); else pt->pt_rx_curr = pt->pt_rx_start = mmu_req (38); if (pt->pt_rx_start == null_ptr) { mmu_error (pei); pt->pt_rx_frame = pt_fr_no_memory; } } pt->pt_state |= pt_rec_active; pt->pt_rx_cnt = reccnt; } else /* if data has been already */ /* received only the receive byte */ /* counter must be updated */ pt->pt_rx_cnt += reccnt; /* automode and frame greater */ /* 260 byte and automode link ? */ if (pt->pt_op_mode == pt_md_auto && pt->pt_rx_cnt > 260 && ((inp (pt->pt_r_rsta) & 0x0d) == 9)) { pt->pt_rx_frame = pt_fr_overflow; /* icc b4, isac-s b3 */ /* reset the receiver if incoming */ /* frame exceeds 528 byte i field */ /* length -> */ /* unbounded frame */ if (rpf && pt->pt_rx_cnt > 528) { outp (pt->pt_r_cmdr, cmdr_rhr); mmu_free (pt->pt_rx_start); pt->pt_rx_start = null_ptr; pt->pt_state &= ~pt_rec_active; pt->pt_rx_frame = 0x00; pt->pt_rx_cnt = 0; n201_error (pei); return; }
semiconductor group 302 low level controller } else if (pt->pt_rx_cnt > 266) pt->pt_rx_frame = pt_fr_overflow; /* read the bytes from the rfifo */ /* if no error was detected */ if (pt->pt_rx_frame < pt_fr_error) { if (reccnt) { string_in (pt->pt_rx_curr, pt->pt_r_fifo, reccnt); pt->pt_rx_curr += reccnt; /* update buffer pointer */ } /* it points to the next free */ /* location in the buffer */ } if (rpf) /* return when it was a rpf int. */ { outp (pt->pt_r_cmdr, cmdr_rmc | (inp (pt->pt_r_star) & cmdr_rnr)); return; } /* rme interrupt handling !!! */ /* ========================== */ /* the receive status byte is in */ /* register rsta */ rsta = inp (pt->pt_r_rsta); /************************************************************************/ /* it follows a scanning section to get some information about the */ /* received data: */ /* - performed address recognition */ /* - sapi ('sapi'), tei ('tei') and control field byte(s) ('ctrl') */ /* as well as the type of frame (hdlc u, ui, s or i frame) are */ /* determined. */ /* in addition the length of a frame is checked. */ /************************************************************************/ /* set 'pei' according to performed */ /* address recognition */ pei |= ((rsta & 0x0c) >> 1) | (rsta & 0x01); autom = false; tei = 0; sapi = rsta & 0x02; /* get the c/r bit value */ ptr = pt->pt_rx_start; /* now get additional information */ /* (tei, sapi, control field) */ switch (pt->pt_op_mode) /* it depends on the selected */ /* operating mode */ { case pt_md_clear_ext: /* no address recognition, */ /* no firmware interaction */
semiconductor group 303 low level controller pt->pt_rx_frame = pt_fr_tr; ctrl = 0x00l; break; case pt_md_ext_transp: /* no address recognition, sapi */ /* and tei are the first two bytes */ /* of data */ if (pt->pt_rx_cnt > 0) pt->pt_rx_cnt--; sapi = *ptr++; case pt_md_transp: /* high byte address recognition, */ /* tei is the first byte read */ if (pt->pt_rx_cnt < 2) frame_status = mutilated; else pt->pt_rx_cnt -= 2; /* read tei and control field */ tei = *ptr++; ctrl = (word) *ptr++; if (pt->pt_op_mode == pt_md_transp) pei |= 0x20; else pei |= 0x30; break; case pt_md_auto: /* full address recognition in */ case pt_md_non_auto: /* auto/nonautomode read only the */ /* hdlc control field information */ if (pt->pt_op_mode == pt_md_auto) /* automode link ??? */ autom = ((rsta & 0x0d) == 0x09) ? true : false; if (!autom) pei |= 0x10; /* the (first byte of the) control */ /* field is in register rhcr */ ctrl = (word) inp (pt->pt_r_rhcr); break; } switch (ctrl & 0x03) /* determine the frame type */ { /* ======================== */ case 0x3: /* *** hdlc u frame ** */ two = false; /* one byte control field ! */ if (pt->pt_rx_cnt == 0) { pt->pt_rx_frame = pt_fr_u; break;
semiconductor group 304 low level controller } else /* as can be seen here u frames */ pt->pt_rx_frame = pt_fr_ui;/* with i field are always treated */ /* as ui frames regardless whether */ /* it's an real ui frame or an */ /* erroneous (= too long) u frame */ break; case 0x1: /* *** hdlc s-frame ** */ /* two byte control field ? */ if ((two = (pt->pt_state & pt_m128))) { ctrl <<= 8; ctrl |= (word) *ptr++; if (pt->pt_rx_cnt > 0) pt->pt_rx_cnt--; else /* second byte of the two byte */ /* control field is missing ! */ frame_status = mutilated; } if (pt->pt_rx_cnt > 0) /* s frame with i-field ! */ frame_status = too_long; pt->pt_rx_frame = pt_fr_s; break; case 0x2: /* *** hdlc i frame ** */ case 0x0: /* no address recognition */ if (pt->pt_op_mode == pt_md_clear_ext) { pt->pt_rx_frame = pt_fr_tr; break; } two = (pt->pt_state & pt_m128); pt->pt_rx_frame = pt_fr_i; /* c/r bit of received i frame */ /* valid (=1) in te configuration ? */ /* if 'cr_of_i_valid' is false the */ /* automatic acknowledge of an */ /* i frame in automode is */ /* prevented! a protocol software */ /* will receive the protocol_error */ /* message and re-establish the */ /* link. */ if (autom && !(sapi & 0x02) && (pt->pt_modulmode == pt_mm_te)) cr_of_i_valid = false; if (autom) break;
semiconductor group 305 low level controller if (two) /* two byte control field ? */ { if (pt->pt_rx_cnt == 0) frame_status = mutilated; if (pt->pt_rx_cnt > 0) pt->pt_rx_cnt--; ctrl <<= 8; ctrl |= (word) *ptr++; } break; } if (pt->pt_rx_cnt > 260) /* i part greater than 260 ? */ { pt->pt_rx_frame = pt_fr_overflow; n201_error(pei); /* must reset the controller */ outp (pt->pt_r_cmdr, cmdr_rmc | cmdr_rhr | cmdr_xres); outp (pt->pt_r_timr, inp(pt->pt_r_timr)); pt->pt_state |= pt_hdlc_reset; free_tx_path (pt->pt_pei); } else if (!cr_of_i_valid) /* c/r of i frame invalid in te ? */ { /* prevent acknowledging s-frame */ /* beeing sent and create */ /* protocol_error message. */ pt->pt_rx_frame = pt_fr_fault; protocol_error (pt->pt_pei); /* must reset the controller */ outp (pt->pt_r_cmdr, cmdr_rmc | cmdr_rhr | cmdr_xres); outp (pt->pt_r_timr, inp(pt->pt_r_timr)); pt->pt_state |= pt_hdlc_reset; free_tx_path (pt->pt_pei); } else /* enter 'rmc' command if not */ outp (pt->pt_r_cmdr, cmdr_rmc | (inp (pt->pt_r_star) & cmdr_rnr)); /************************************************************************/ /* */ /* now all information about the received frame is available: */ /* - performed address recognition or tei and sapi values. */ /* - hdlc control field */ /* - type of frame (hdlc u, ui, s, i frame). */ /* - info about the validity of the frame */ /* */ /************************************************************************/ if (rsta = (rsta & (rsta_rdo | rsta_crc | rsta_rab)) ^rsta_crc) pt->pt_rx_frame = pt_fr_fault; switch (pt->pt_rx_frame)
semiconductor group 306 low level controller { case pt_fr_fault: if (rsta & rsta_rdo) rec_data_overflow (pei); if (rsta & rsta_rab) rec_aborted (pei); if (rsta & rsta_crc) /* crc has already been inverted */ crc_error (pei); break; case pt_fr_s: /* hdlc s frame ? */ /* ============== */ /* extra parameter for 1 byte */ /* address field set to false */ decode_s_frame_basic (pei, sapi, tei, ctrl, frame_status, ((pt->pt_state & pt_m128) ? 0x01 : 0x00), false); mmu_free (pt->pt_rx_start); break; case pt_fr_u: /* hdlc u frame ? */ /* ============== */ /* extra parameter for 1 byte */ /* address field set to false */ decode_u_frame_basic (pei, sapi, tei, (byte) ctrl, false); mmu_free (pt->pt_rx_start); break; case pt_fr_ui: /* hdlc ui or i frame ? */ case pt_fr_i: /* ==================== */ case pt_fr_tr: /* ==================== */ if (pt->pt_rx_frame < pt_fr_error) { frame_pass fp; fp.mmu_buff = pt->pt_rx_start; fp.start_of_i_data = ptr; fp.i_data_cnt = pt->pt_rx_cnt; fp.two_byte_cf = two; fp.ctrl_field = ctrl; fp.pei = pei; fp.frame = pt->pt_rx_frame | frame_status; fp.sapi = sapi; fp.tei = tei; /* transfer the frame to the 'long */ /* frame queue' */ passlongframe_basic (&fp); } break; } /* end of 'switch (pt->pt_rx_frame)' ------------------------------- */
semiconductor group 307 low level controller /* release the data buffer if the */ /* frame reception or the frame */ /* were erroneous */ if (pt->pt_rx_frame >= pt_fr_error) mmu_free (pt->pt_rx_start); pt->pt_rx_start = null_ptr; pt->pt_state &= ~pt_rec_active; pt->pt_rx_frame = 0x00; pt->pt_rx_cnt = 0; } /***************************************************************************/ /* */ /* function: check_trec_status_icc () */ /* parms : */ /* purpose : called periodically if timer recovery status was detected */ /* during previous xpr interrupt handing. a */ /* transmit-acknowledge for i frame is generated if the trec */ /* status is left. */ /* */ /***************************************************************************/ export void check_trec_status_icc () { register peitab *pt; if (!(pt = getpeitab_basic (0))) return; outp (pt->pt_r_mask, ~mask_tin); /* allow only tin interrupts */ /* timer recovery status left ? */ if (!(inp(pt->pt_r_star2) & star2_trec)) { if (inp(pt->pt_r_ista) & ista_tin) { resethdlc_icc (pt->pt_pei); tin_error (pt->pt_pei); } else /* generate a transmit acknowledge */ /* i frame if there was no tin */ /* interrupt */ tx_acknowledge (pt->pt_pei, (byte) pt_fr_i); disable_trec_status_check (); } outp (pt->pt_r_mask, 0x00); }
semiconductor group 308 low level controller /***************************************************************************/ /* */ /* siemens isdn-userboard (c) 1987-1993 */ /* ====================== */ /* */ /* firmware: driver functions for sbc / l1 part of isac-s */ /* file : sbc.c */ /* */ /***************************************************************************/ /* include files */ /* ============= */ #include "def.h" #include "basic.h" #include "message.h" /* ci codes for sbc and isac-s pm */ /*********************************************************/ #define ci_pu (byte)0x1c /* 0111 pu indication */ #define ci_tim (byte)0x00 /* 0000 timing requested */ #define ci_ai (byte)0x30 /* 1100 activation indication */ #define ci_ar (byte)0x20 /* 1000 activation request */ #define ci_diu (byte)0x3c /* 1111 deactivation ind. upstream */ #define ci_did (byte)0x3c /* 1111 deactivation ind. downst. */ #define ci_dr (byte)0x00 /* 0000 deactivation request */ #define ci_rs (byte)0x04 /* 0001 reset */ #define ci_ei (byte)0x18 /* 0110 error indicate downstream */ /* imported functions */ /* ================== */ /* from crt0.asm */ import word enternoint (); import void leavenoint (); /* from basic00.c */ import peitab *getpeitab_basic (); /* export functions */ /* ================ */ export int initl1_sbc (); export int actl1_sbc (); export int arll1_sbc (); export int deal1_sbc (); export void intl1_sbc (); export int resl1_sbc (); export int enaclk_sbc ();
semiconductor group 309 low level controller /* variables */ /* ========= */ /* function declaration */ /* ==================== */ /***************************************************************************/ /* */ /* function: enaclk_sbc () */ /* parms : pointer to peitab table element */ /* purpose : enable clocks for te configurations */ /* */ /***************************************************************************/ export int enaclk_sbc (pt) register peitab *pt; { unsigned int count, i = 0; byte bitset, spcr; /* test to see if clocks are */ /* actually there. because the sbc */ /* after reset does not deactivate */ /* its clocks immediately we will */ /* make pretty sure that the clocks */ /* are there before we leave this */ /* routine */ bitset = inp (pt->pt_r_star) & star_bvs; count = 0; /* we test to see if 6 changes in */ /* the star:bvs bit indicating the */ /* reception of at least 3 frames */ /* (6 b channels). if at any time */ /* we fail to find a bit change */ /* and the counter i reaches its */ /* maximum then we assume that */ /* clocks are no longer present */ for (i = 0; i < 500; i++) if ((inp(pt->pt_r_star) & star_bvs) != bitset) { /* of course we have to reset our */ /* counter every time a bit change */ if (++count > 6) /* is observed to give the next */ return (false); /* bit change the same amount of */ /* time in which to occur !!! */ i = 0; bitset = inp (pt->pt_r_star) & star_bvs; } /* the bx versions reqire one edge */ /* at fsc. */ /* otherwise the setting of the spu */ /* has no effect (result: no clock) */ /* the iom direction control bit */ /* idc in the adf1 (sqxr) register */ /* is set before and reset after */ /* the system is clocking */
semiconductor group 310 low level controller /* icc bx: idc is in reg. adf1 */ if (pt->pt_device == pt_icc_b) outp (pt->pt_r_adfr, 0x10); /* isac-s bx: idc is in reg. sqxr */ if (pt->pt_device == pt_isac_s_b) outp (pt->pt_r_sqxr, 0x80); spcr = inp(pt->pt_r_spcr); outp (pt->pt_r_spcr, spcr | spcr_spu); if (pt->pt_state & pt_iom2) outp (pt->pt_r_cixr, cixr_tbc | ci_tim | 0x03); else outp (pt->pt_r_cixr, cixr_tbc | ci_tim); /* wait for power up indication */ while ((inp(pt->pt_r_cixr) & cir_mask) != ci_pu) if (++i > 1000) break; /* time out */ outp (pt->pt_r_spcr, spcr); /* now reset the idc bit */ /* icc bx: idc is in reg. adf1 */ if (pt->pt_device == pt_icc_b) outp (pt->pt_r_adfr, 0x00); /* isac-s bx: idc is in reg. sqxr */ if (pt->pt_device == pt_isac_s_b) outp (pt->pt_r_sqxr, 0x00); return (true); } /***************************************************************************/ /* */ /* function: initl1_sbc () */ /* parms : pei value, mode of operation */ /* purpose : initialize an sbc controlling icc / l1 part of an isac-s */ /* reset l1 to come to default state */ /* */ /***************************************************************************/ export int initl1_sbc (pei, mode_type) byte pei, mode_type; { register peitab *pt; byte r_mode; /* return if the addressed device */ /* is not operational or not used */ /* for layer 1 control */ if (!(pt = getpeitab_basic (pei))) return (ack_not_supported); if (!(pt->pt_state & pt_l1_ctrl))
semiconductor group 311 low level controller return (ack_not_supported); outp (pt->pt_r_mask, 0xff); /* compare the requested */ /* initialization mode with */ /* detected hardware configuration */ /* ('pt_modulmode') */ if (pt->pt_modulmode != mode_type) { outp (pt->pt_r_mask, 0x00); return (ack_wrong_modul_mode); } /* timing mode 0 is used on the */ /* sipb for te and nts configu- */ /* ration */ r_mode = inp (pt->pt_r_mode); if (mode_type == pt_mm_te) outp (pt->pt_r_mode, (r_mode & ~(mode_hmd2 | mode_hmd1)) | mode_hmd0); else outp (pt->pt_r_mode, r_mode & ~(mode_hmd2 | mode_hmd1 | mode_hmd0)); if (pt->pt_state & pt_iom2) /* iom 2 mode ? */ { outp (pt->pt_r_adf2, 0x80); /* program iom2 mode in icc/isac-s */ switch (mode_type) { case pt_mm_nt: /* changed to be terminal mode */ /* timing rather than spcr_spm */ outp (pt->pt_r_spcr, 0x00); /* no terminal specific functions */ outp (pt->pt_r_stcr, 0x00); outp (pt->pt_r_mode, (r_mode & ~(mode_hmd2 | mode_hmd0)) | mode_hmd1); break; case pt_mm_te: outp (pt->pt_r_spcr, 0x00); /* terminal mode */ outp (pt->pt_r_stcr, 0x70); /* tic bus address '7' */ /* no watchdog timer */ break; } } else { outp (pt->pt_r_adf2, 0x00); /* program iom2 mode in icc/isac-s */ outp (pt->pt_r_stcr, 0x70); /* program tic bus address */ } outp (pt->pt_r_mask, 0x00);
semiconductor group 312 low level controller if (!resl1_sbc (pt)) return (ack_access_fault); return (ack_done); } /***************************************************************************/ /* */ /* function: actl1_sbc () */ /* parms : pei value */ /* purpose : establish l1 link (= activation) */ /* */ /***************************************************************************/ export int actl1_sbc (pei) byte pei; { register peitab *pt; /* return if the addressed device */ /* is not operational or not used */ /* for layer 1 control */ if (!(pt = getpeitab_basic (pei))) return (ack_not_supported); if (!(pt->pt_state & pt_l1_ctrl)) return (ack_not_supported); /* the activation procedure is not */ /* done if the layer 1 link is */ /* already established. in that */ /* case only an activation */ /* indication message is generated */ if (((pt->pt_ci_rec = inp(pt->pt_r_cixr)) & cir_mask) != ci_ai) { if (pt->pt_modulmode == pt_mm_te) enaclk_sbc (pt); if (pt->pt_state & pt_iom2) outp (pt->pt_r_cixr, cixr_tbc | ci_ar | 0x03); else outp (pt->pt_r_cixr, cixr_tbc | ci_ar); return (ack_done); } decode_l1_status (pei, pt->pt_ci_rec); return (ack_done); } /***************************************************************************/ /* */ /* function: arll1_sbc () */ /* parms : pei value */ /* purpose : activate local loop */ /* */ /***************************************************************************/ export int
semiconductor group 313 low level controller arll1_sbc (pei) byte pei; { register peitab *pt; if (!(pt = getpeitab_basic (pei))) return (ack_not_supported); if (pt->pt_modulmode == pt_mm_te) enaclk_sbc (pt); if (pt->pt_state & pt_iom2) outp (pt->pt_r_cixr, 0x6b); else outp (pt->pt_r_cixr, 0x68); return (ack_done); } /***************************************************************************/ /* */ /* function: deal1_sbc */ /* parms : pei */ /* purpose : release l1 link */ /* */ /***************************************************************************/ export int deal1_sbc (pei) byte pei; { register peitab *pt; if (!(pt = getpeitab_basic (pei))) return (ack_not_supported); if (!(pt->pt_state & pt_l1_ctrl)) return (ack_not_supported); if (pt->pt_modulmode != pt_mm_nt && pt->pt_modulmode != pt_mm_lt_s) return (ack_wrong_modul_mode); if (((pt->pt_ci_rec = inp (pt->pt_r_cixr)) & cir_mask) != ci_diu) { if (pt->pt_state & pt_iom2) outp (pt->pt_r_cixr, cixr_tbc | ci_dr | 0x03); else outp (pt->pt_r_cixr, cixr_tbc | ci_dr); return (ack_done); } decode_l1_status (pei, pt->pt_ci_rec); return (ack_done); } /***************************************************************************/ /* */ /* function: intl1_sbc () */
semiconductor group 314 low level controller /* parms : pointer to peitab table element of icc / isac-s */ /* purpose : handle c/i interrupts */ /* */ /***************************************************************************/ export void intl1_sbc (pt) register peitab *pt; { pt->pt_ci_rec = inp (pt->pt_r_cixr);/* read cirr (cir0) register */ if (pt->pt_modulmode == pt_mm_nt) { /* in nt / lt-s configuration: */ /* send did if sbc/isac-s is in the */ /* diu state */ /* -> deactivation */ if ((pt->pt_ci_rec & cir_mask) == ci_diu) { if (pt->pt_state & pt_iom2) outp (pt->pt_r_cixr, cixr_tbc | ci_did | 0x03); else outp (pt->pt_r_cixr, cixr_tbc | ci_did); } } else /* te configuration: */ { /* power down sbc/isac-s if it has */ /* changed from activated to */ /* pending mode */ if ((pt->pt_ci_rec & cir_mask) == ci_dr) { if (pt->pt_state & pt_iom2) outp (pt->pt_r_cixr, cixr_tbc | ci_diu | 0x03); else outp (pt->pt_r_cixr, cixr_tbc | ci_diu); } /* activation confirmation in iom2 */ /* configurations. the sbc */ /* (isac-s) must confirm an */ /* activation from network side. */ /* only then it will be transparent */ /* for upstream b channel data */ if ((pt->pt_state & pt_iom2) && ((pt->pt_ci_rec & cir_mask) == ci_ai)) outp (pt->pt_r_cixr, cixr_tbc | ci_ar | 0x03); } decode_l1_status (pt->pt_pei, pt->pt_ci_rec); } /***************************************************************************/ /* */ /* function: resl1_sbc () */ /* parms : pointer to peitab table element of icc / isac-s */ /* purpose : reset sbc / l1 part of isac-s */ /* (also used for device test) */
semiconductor group 315 low level controller /* */ /***************************************************************************/ export int resl1_sbc (pt) register peitab *pt; { int i, state, failed = false; byte forcecommand, newstate, releasecommand, loop, r_spcr; switch (pt->pt_modulmode) { case pt_mm_te: forcecommand = ci_rs; /* send the res (reset) code */ newstate = ci_ei; /* and wait for a change to the ei */ /* state, */ releasecommand = ci_diu; /* then send diu */ break; case pt_mm_nt: forcecommand = ci_dr; /* send the deactivation request */ /* code */ newstate = ci_diu; /* and wait for diu */ releasecommand = ci_did; /* then send did to deactivate the */ /* sbc */ break; default: if (pt->pt_lay1id == sbc_lay1) pt->pt_lay1id = unk_lay1; return (false); } if (pt->pt_state & pt_iom2) { releasecommand |= 0x03; forcecommand |= 0x03; } state = enternoint (); /* disable all system interrupts */ /* if testloop mode was programmed */ /* switch it off to enable l1 */ /* status recognition */ r_spcr = inp (pt->pt_r_spcr); if (loop = (r_spcr & spcr_tpl)) outp (pt->pt_r_spcr, (r_spcr & ~spcr_tpl)); outp (pt->pt_r_mask, ~ista_cic); /* allow only c/i interrupts */ if (pt->pt_modulmode == pt_mm_te) enaclk_sbc (pt); /* output the command code */ outp (pt->pt_r_cixr, (byte) (cixr_tbc | forcecommand));
semiconductor group 316 low level controller i = 0; /* wait for the expected state */ while ((inp(pt->pt_r_cixr) & cir_mask) != newstate) if (i++ > 20000) { /* break if timeout */ failed = true; break; } /* output the release command */ outp (pt->pt_r_cixr, (byte)(cixr_tbc | releasecommand)); if (pt->pt_modulmode == pt_mm_te) /* te mode ? */ { /* wait for diu or aiu because */ /* it can cause problems for the */ /* enable clock routine if the */ /* clocks disappear mid routine */ /* due to an earlier reset */ for (i = 0; i < 20000; i++) { pt->pt_ci_rec = inp (pt->pt_r_cixr) & cir_mask; if ((pt->pt_ci_rec == ci_diu) || (pt->pt_ci_rec == ci_ai)) break; } if ((pt->pt_state & pt_iom2) && (pt->pt_ci_rec == ci_ai)) outp (pt->pt_r_cixr, cixr_tbc | ci_ar | 0x03); } if (loop) /* restore original value of spcr */ outp (pt->pt_r_spcr, r_spcr); outp (pt->pt_r_mask, 0x00); /* enable interrupts again */ leavenoint (state); if (failed) { if (pt->pt_lay1id == sbc_lay1) pt->pt_lay1id = unk_lay1; return (false); } else return (true); }
semiconductor group 317 package outlines 7 package outlines 2.54 1.5 max 0.45 +0.1 1.3 3.7 0.3 0.5 min 5.1 max 40 21 120 50.9 -0.5 0.25 max 0.25 +0.1 14 -0.3 15.24 +1.2 15.24 0.2 index marking ~ ~ 0.25 40x plastic package, p-dip-40-2 (plastic dual-in-line package) gpd05055 dimensions in mm
semiconductor group 318 package outlines plastic package, p-lcc-44-1 (smd) (plastic-leaded chip carrier) gpl05102 smd = surface mounted device sorts of packing package outlines for tubes, trays etc. are contained in our data book package information dimensions in mm
semiconductor group 319 package outlines plastic package, p-mqfp-64-1 (smd) (plastic metric quad flat package) gpm05250 smd = surface mounted device sorts of packing package outlines for tubes, trays etc. are contained in our data book package information dimensions in mm
semiconductor group 320 package outlines appendix transformers and crystals vendor list crystals: frischer electronic schleifmhlstra?e 2 d-91054 erlangen, germany kvg waibstadter stra?e 2-4 d-74924 neckarbischofsheim 2, germany tel.: (7263) 648-0 ndk 2-21-1 chome nishihara shibuya-ku tokyo 151, japan tel.: (03)-460-2111 or cupertino, ca, usa tel.: (408) 255-0831 saronix 4010 transport at san antonio palo alto, ca 94303, usa tel.: (415) 856-6900 or via arthur behrens kg schrammelweg 3 d-82544 egling-neufahrn, germany tele quarz landstra?e 13 d-74924 neckarbischofsheim 2, germany transformers: advanced power components (apc) 47 riverside medway city estate strood county of kent, gb tel.: (044) 634-290 588 pulse engineering p.o. box 12235 san diego, ca 92112, usa tel.: (619) 268-2454 or 4, avenue du quebc f-91940 les ulis, france or dunmore road tuam county galway, ireland tel.: (093) 24107 s+m components balanstra?e 73 p.o. box 801709 d-81617 munich, germany tel.: (89) 4144-8041 fax.: (89) 4144-8483 siemens oostcamp belgium schott corporation suite 108 1838 elm hill pike, nashville, tn 37210, usa tel.: (615) 889-8800 tdk christinenstra?e 25 d-40880 ratingen 1, germany tel.: (2192) 487-0 universal microelectronics vacuumschmelze (vac) grner weg 37 postfach 2253 d-63412 hanau 1, germany tel.: (6181) 380 or 186 wood avenue south iselin, nj ob830, usa tel.: (908) 603 5905 valor steinstra?e 68 d-81667 mnchen, germany tel.: (89) 480 2823 fax.: (89) 484 743 vogt electronic ag postfach 1001 d-94128 obernzell, germany tel.: (8591) 17-0 fax.: (8591) 17-240


▲Up To Search▲   

 
Price & Availability of PEB2085-PV23

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X